public static string GetProviderGroupCacheKey(this object item, CacheTypes cacheType) { if (item == null) { throw new ArgumentNullException(); } IProviderGroupId providerGroupIdItem = item as IProviderGroupId; if (providerGroupIdItem == null) { throw new InvalidOperationException($"Type [{item.GetType().Name}] does not implement IProviderGroupId"); } string result = string.Empty; switch (cacheType) { case CacheTypes.Item: result = $"mc_{item.GetType().Name}_{providerGroupIdItem.ProviderGroupId}_{providerGroupIdItem.Id}"; break; case CacheTypes.ItemList: result = $"mc_{item.GetType().Name}_{providerGroupIdItem.ProviderGroupId}"; break; } return(result); }
public static Guid GetProviderGroupId(this object item) { if (item == null) { throw new ArgumentNullException(); } IProviderGroupId providerGroupIdItem = item as IProviderGroupId; if (providerGroupIdItem == null) { throw new InvalidOperationException($"Type [{item.GetType()}] does not implement IProviderGroupId."); } return(providerGroupIdItem.ProviderGroupId); }