Files
Yi.Framework/Yi.Abp.Net8/module/setting-management/Yi.Framework.SettingManagement.Domain/SettingCacheItem.cs
2024-04-01 14:29:33 +08:00

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;
}
}