Ejemplo n.º 1
0
        public virtual IEnumerable <RedisCachedObject <T> > SetValue <T>(RedisCachedObject <T> value)
        {
            if ((!(value?.Id?.HasFullKey ?? false)) || value.Value == null || value.Value.Equals(default(T)))
            {
                return(null);
            }

            string serializedWrapper;
            string serializedObject;
            ISerializationService sz =
                RedisService.GetSerializationService <T>();

            serializedObject = sz.SerializeObject <T>(value.Value, RedisService.CacheSettings.SerializationSettings);

            RedisCachedObject <string> wrapper = new RedisCachedObject <string>
            {
                RetrievedSuccesfully = value.RetrievedSuccesfully,
                Value      = serializedObject,
                CachedTime = value.CachedTime,
                Status     = value.Status,
                Metadata   = value.Metadata,
                Id         = value.Id,
                ExpireTime = value.ExpireTime,
            };

            sz = RedisService.GetSerializationService <RedisCachedObject <string> >();
            serializedWrapper = sz.SerializeObject <RedisCachedObject <string> >(wrapper, RedisService.CacheSettings.SerializationSettings);
            HardAddToCache(value.Id, serializedWrapper, value.ExpireTime);
            return(new[] { value });
        }
        //TODO: need to save settings by user
        public void SaveSettingDto(SettingDto settingDto)
        {
            if (settingDto == null)
            {
                throw new ArgumentNullException(nameof(settingDto));
            }

            var colorSerialized          = _serializationService.SerializeObject(settingDto.AltRowsColor);
            var dateTimeFormatSerialized = _serializationService.SerializeObject(settingDto.DateFormateId);
            var pageSizeSerialized       = _serializationService.SerializeObject(settingDto.PageSize);

            var settingNames = new Dictionary <SettingNames, string>(2);

            settingNames.Add(SettingNames.DateTimeFormat, dateTimeFormatSerialized);
            settingNames.Add(SettingNames.AltRowsColor, colorSerialized);
            settingNames.Add(SettingNames.PageSize, pageSizeSerialized);

            _settingProvider.SaveSettings(settingNames);

            _applicationCasheService.RemoveValue(ApplicationCasheNames.SettingDto);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Запись данных в файл
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="fileName"></param>
        /// <param name="value"></param>
        public async void WriteFile <T>(string fileName, List <T> value) where T : BaseModel
        {
            try
            {
                using (var sw = new StreamWriter(GetPath(fileName), false, Encoding.UTF8))
                {
                    if (!sw.BaseStream.CanWrite)
                    {
                        Debug.Write($"Невозможно записать в файл.");
                    }

                    //Преобразование обьекта T в JSON
                    var json = _serializationService.SerializeObject(value);
                    //Запись в файл
                    await sw.WriteAsync(json);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }