public void Options_Initialize(OptionsViewModel ovm) { // Monitored Folders ovm.MonitoredFolders.Clear(); foreach (var folder in Core.Data.UserData.MonitoredFolders) { var vm = new FolderViewModel() { Data = folder, IsVisible_DeleteButton = true, UpdateMonitoredFolders = () => Options_Initialize(ovm) }; ovm.MonitoredFolders.Add(vm); } // Destination Folder ovm.DestinationFolder = new FolderViewModel() { Data = new Folder() { FolderName = Core.Data.UserData.DestinationFolder } }; }
internal void Options_AddNewMonitoredFolder(OptionsViewModel ovm) { var vm = new FolderViewModel() { Data = new Folder(), UpdateMonitoredFolders = () => Options_Initialize(ovm) }; ovm.MonitoredFolders.Add(vm); }
internal void Options_UpdateMonitoredFolders(OptionsViewModel ovm) { // Removed Folders are ones that are in the Data but not found in the Options Data var removedFolders = Core.Data.UserData.MonitoredFolders.Where(src => !ovm.MonitoredFolders.Any(dat => dat.FolderName.Trim().ToLower() == src.FolderName.Trim().ToLower())).ToList(); foreach (var rf in removedFolders) Core.Data.UserData.MonitoredFolders.Remove(rf); // Added Folders are ones that in the Options, but not in the User Data var addedFolders = ovm.MonitoredFolders.Where(src => !Core.Data.UserData.MonitoredFolders.Any(dat => dat.FolderName.Trim().ToLower() == src.FolderName.Trim().ToLower())).ToList(); foreach (var af in addedFolders) Core.Data.UserData.MonitoredFolders.Add(af.Data); }
internal void Options_UpdateData(OptionsViewModel ovm) { Core.Data.UserData.DestinationFolder = ovm.DestinationFolder?.Data?.FolderName; }