using Core.Blueprint.DAL.Redis.Configuration; namespace Core.Blueprint.DAL.Redis.Helpers { public static class CacheHelper { /// /// Determines the cache duration based on specific duration, settings, or a default value. /// /// Specific cache duration in minutes, if provided. /// General cache settings containing default duration values. /// The cache duration as a TimeSpan. public static TimeSpan GetCacheDuration(CacheSettings cacheSettings, int? specificCacheDuration = 0) { var defaultCacheDuration = TimeSpan.FromMinutes(.5); if (specificCacheDuration.HasValue && specificCacheDuration.Value > 0) { return TimeSpan.FromMinutes(specificCacheDuration.Value); } if (cacheSettings.DefaultCacheDurationInMinutes > 0) { return TimeSpan.FromMinutes(cacheSettings.DefaultCacheDurationInMinutes); } return defaultCacheDuration; } } }