public ProgramSettings(IFileStorage fileStorage) { this._buferDefaultBackgroundColorSetting = new SettingItem <int>( Color.Silver.ToArgb(), User.Default.BuferDefaultBackgroundColor, (value) => { User.Default.BuferDefaultBackgroundColor = value; }); this._showUserModeNotificationSetting = new SettingItem <bool>( false, User.Default.ShowUserModeNotification, (value) => { User.Default.ShowUserModeNotification = value; }); this._restorePreviousSession = new SettingItem <bool>( true, User.Default.RestorePreviousSession, (value) => { User.Default.RestorePreviousSession = value; }); this._pinnedBuferBackgroundColorSetting = new SettingItem <int>( Color.LightSlateGray.ToArgb(), User.Default.PinnedBuferBackgroundColor, (value) => { User.Default.PinnedBuferBackgroundColor = value; }); this._currentBuferBackgroundColorSetting = new SettingItem <int>( Color.Silver.ToArgb(), // TODO (m) Consider new color: Color.LightGreen User.Default.CurrentBuferBackgroundColor, (value) => { User.Default.CurrentBuferBackgroundColor = value; }); this._focusTooltipDurationSetting = new SettingItem <int>( 2500, User.Default.FocusTooltipDuration, (value) => { User.Default.FocusTooltipDuration = value; }); this._showFocusTooltipSetting = new SettingItem <bool>( true, User.Default.ShowFocusTooltip, (value) => { User.Default.ShowFocusTooltip = value; }); this._settingItems = new List <ISettingItem> { this._buferDefaultBackgroundColorSetting, this._showUserModeNotificationSetting, this._restorePreviousSession, this._showFocusTooltipSetting, this._focusTooltipDurationSetting, this._pinnedBuferBackgroundColorSetting, this._currentBuferBackgroundColorSetting }; this._defaultBufersFilePath = fileStorage.CombinePaths( fileStorage.DataDirectory, this.DefaultBufersFileName); if (!fileStorage.FileExists(this._defaultBufersFilePath)) { fileStorage.CreateFile(this._defaultBufersFilePath); } }
public CacheStorage(IFileStorage storage) { __Storage = storage; var s = !__Storage.FileExists(MAP_FILE) ? __Storage.CreateFile(MAP_FILE) : __Storage.OpenFile(MAP_FILE, FileMode.Open); var serializer = new JsonSerializer { Formatting = Formatting.Indented }; using (var file = new JsonTextReader(new StreamReader(s))) { __AudioDict = serializer.Deserialize <Dictionary <long, JsonAudioModel> >(file) ?? new Dictionary <long, JsonAudioModel>(); } foreach (var jsonAudioModel in __AudioDict) { if (!__AudioIdList.ContainsKey(jsonAudioModel.Value.UserId)) { __AudioIdList.Add(jsonAudioModel.Value.UserId, new SortedList <int, long>()); } __AudioIdList[jsonAudioModel.Value.UserId].Add(jsonAudioModel.Value.Index, jsonAudioModel.Key); } if (__Storage.FileExists(USERID_FILE)) { try { using (var file = new StreamReader(__Storage.OpenFile(USERID_FILE, FileMode.Open))) { __UserId = file.ReadToEnd(); } } catch { //Ќичего не делать, последнего сохраненного алиаса не будет. } } if (__Storage.FileExists(AILASTOID_FILE)) { try { using (var file = new JsonTextReader(new StreamReader(__Storage.OpenFile(AILASTOID_FILE, FileMode.Open)))) { __AliasMap = serializer.Deserialize <Dictionary <string, JsonUserModel> >(file); } } catch { //Ќичего не делать, карты алиасов не будет. } } }
public CacheStorage(IFileStorage storage) { __Storage = storage; var s = !__Storage.FileExists(MAP_FILE) ? __Storage.CreateFile(MAP_FILE) : __Storage.OpenFile(MAP_FILE, FileMode.Open); var serializer = new JsonSerializer { Formatting = Formatting.Indented }; using (var file = new JsonTextReader(new StreamReader(s))) { __AudioDict = serializer.Deserialize<Dictionary<long, JsonAudioModel>>(file) ?? new Dictionary<long, JsonAudioModel>(); } foreach (var jsonAudioModel in __AudioDict) { if (!__AudioIdList.ContainsKey(jsonAudioModel.Value.UserId)) __AudioIdList.Add(jsonAudioModel.Value.UserId, new SortedList<int, long>()); __AudioIdList[jsonAudioModel.Value.UserId].Add(jsonAudioModel.Value.Index, jsonAudioModel.Key); } if (__Storage.FileExists(USERID_FILE)) { try { using (var file = new StreamReader(__Storage.OpenFile(USERID_FILE, FileMode.Open))) { __UserId = file.ReadToEnd(); } } catch { //Ќичего не делать, последнего сохраненного алиаса не будет. } } if (__Storage.FileExists(AILASTOID_FILE)) { try { using (var file = new JsonTextReader(new StreamReader(__Storage.OpenFile(AILASTOID_FILE, FileMode.Open)))) { __AliasMap = serializer.Deserialize<Dictionary<string, JsonUserModel>>(file); } } catch { //Ќичего не делать, карты алиасов не будет. } } }
private ICacheStream CreateCacheStream(IAudio audio) { var audioModel = new JsonAudioModel() { Artist = audio.Artist, AudioId = audio.AudioId, Duration = audio.Duration, Title = audio.Title, UserId = audio.UserId, Index = audio.Index }; __AudioDict.Add(audioModel.AudioId, audioModel); if (!__AudioIdList.ContainsKey(audio.UserId)) { __AudioIdList.Add(audio.UserId, new SortedList <int, long>()); } __AudioIdList[audioModel.UserId].Add(audioModel.Index, audioModel.AudioId); ICacheStream s = new CacheStream(__Storage.CreateFile(MakeFileName(audioModel)), audioModel); return(s); }