37 lines
881 B
C#
37 lines
881 B
C#
using System;
|
|
using System.Linq;
|
|
using Volo.Abp.MultiTenancy;
|
|
using Volo.Abp.Text.Formatting;
|
|
|
|
namespace Yi.Framework.SettingManagement.Domain;
|
|
|
|
[Serializable]
|
|
[IgnoreMultiTenancy]
|
|
public class SettingCacheItem
|
|
{
|
|
private const string CacheKeyFormat = "pn:{0},pk:{1},n:{2}";
|
|
|
|
public string Value { get; set; }
|
|
|
|
public SettingCacheItem()
|
|
{
|
|
|
|
}
|
|
|
|
public SettingCacheItem(string value)
|
|
{
|
|
Value = value;
|
|
}
|
|
|
|
public static string CalculateCacheKey(string name, string providerName, string providerKey)
|
|
{
|
|
return string.Format(CacheKeyFormat, providerName, providerKey, name);
|
|
}
|
|
|
|
public static string GetSettingNameFormCacheKeyOrNull(string cacheKey)
|
|
{
|
|
var result = FormattedStringValueExtracter.Extract(cacheKey, CacheKeyFormat, true);
|
|
return result.IsMatch ? result.Matches.Last().Value : null;
|
|
}
|
|
}
|