/// <inheritdoc/> public bool Load(string conditionName, ICachableCondition condition) { var cachedValueDto = _lazyConditionCacheDtos.Value.FirstOrDefault(dto => dto.ConditionName == conditionName); if (cachedValueDto == null || cachedValueDto.CurrentValue == null) { return(false); } condition.ManipulateState(cachedValueDto.CurrentValue); return(true); }
/// <inheritdoc/> public void Save(string conditionName, ICachableCondition condition) { var existingCachedValueDto = _lazyConditionCacheDtos.Value.FirstOrDefault(dto => dto.ConditionName == conditionName); if (existingCachedValueDto == null) { _lazyConditionCacheDtos.Value.Add(condition.ToConditionCacheDto(conditionName)); } else { _lazyConditionCacheDtos.Value[_lazyConditionCacheDtos.Value.IndexOf(existingCachedValueDto)] = condition.ToConditionCacheDto(conditionName); } File.WriteAllText(Path.Combine(CacheHelpers.AppDataDirectory, _conditionCacheFileName), JsonConvert.SerializeObject(_lazyConditionCacheDtos.Value, _serializerSettings)); }