private void AddButton_Click(object sender, RoutedEventArgs e) { var dir = new OpenDirectoryDialog().OpenDirectory(); if (string.IsNullOrWhiteSpace(dir) == false) { var reader = new FolderSettingsFileReader(); var settings = reader.ReadFileAsync(dir).Result; if (settings == null) { var vm = AddDirectoryDialog.Show(dir); if (vm == null) { return; } settings = new FolderSettings((uint)vm.DaysBeforeRemoval, (DirectoriesDeleteBehaviour)vm.BehaviourID); var writer = new FolderSettingsFileSaver(); writer.SaveAsync(settings, dir).Wait(); } var specificSettings = new SpecificFolderSetting(dir, settings); App.Oldi.AddSettings(specificSettings); vm.FolderSettingItems.Add(new FolderSettingItemViewModel(specificSettings)); } }
public void DaysToRemoveAndBehaviour_Path_ShouldBeSerialized() { var settings = new SpecificFolderSetting( "C:\\temp", 30, DirectoriesDeleteBehaviour.DeleteFilesInside); var json = JsonConvert.SerializeObject(settings); var dyn = JObject.Parse(json); Assert.True(dyn.ContainsKey("DirectoryPath")); }
public FolderSettingItemViewModel(SpecificFolderSetting setting) { Path.Value = setting.DirectoryPath; if (setting.Status == SpecificFolderSettingStatus.Initialized) { DaysAge.Value = setting.DayAgeToRemove; DeleteBehaviourID.Value = (int)setting.DirectoriesDeleteBehaviour; DeleteBehaviour.LinkWith(DeleteBehaviourID); } DaysAge.OnModify += SettingsModified; DeleteBehaviourID.OnModify += SettingsModified; }
public void DaysToRemoveAndBehaviour_ShouldBeIgnoredDuringSerialization() { var settings = new SpecificFolderSetting( "C:\\temp", 30, DirectoriesDeleteBehaviour.DeleteFilesInside); var json = JsonConvert.SerializeObject(settings); var dyn = JObject.Parse(json); Assert.False(dyn.ContainsKey("DirectoriesDeleteBehaviour")); Assert.False(dyn.ContainsKey("DayAgeToRemove")); }
public void RemoveSetting(string directoryPath) { SpecificFolderSetting sett = GetSetting(directoryPath); Data.FolderSettings.Remove(sett); }
public void AddSettings(SpecificFolderSetting sett) { Data.FolderSettings.Add(sett); }