internal TaskSchedulerViewModel(BitnamiRedmineStack stack, ITaskService taskService, IDialogService dialogService) { if (stack == null) { throw new ArgumentNullException(nameof(stack)); } if (taskService == null) { throw new ArgumentNullException(nameof(taskService)); } if (dialogService == null) { throw new ArgumentNullException(nameof(dialogService)); } this._TaskService = taskService; this._DialogService = dialogService; this.DeleteCommand = new RelayCommand <TaskSchedulerItem>(this.DeleteExecute, this.CanDeleteExecute); this.RefreshCommand = new RelayCommand(this.RefresExecute, this.CanRefreshExecute); this.RunCommand = new RelayCommand <TaskSchedulerItem>(this.RunExecute, this.CanRunExecute); this.StopCommand = new RelayCommand <TaskSchedulerItem>(this.StopExecute, this.CanStopExecute); }
public BackupModel( IApplicationSettingService applicationSettingService, IBitnamiRedmineService bitnamiRedmineService, IBackupService backupService, IDispatcherService dispatcherService, IDialogService dialogService, ILogService logService, BitnamiRedmineStack stack) : base(applicationSettingService, bitnamiRedmineService, backupService, dispatcherService, dialogService, logService, stack) { // Apply Setting RedmineSetting redmineSetting; this.GetApplicationSetting(out redmineSetting); this.Directory = redmineSetting.Backup.BaseDirectory; this.DirectoryName = redmineSetting.Backup.DirectoryName; this.Database = redmineSetting.Backup.Database; this.Files = redmineSetting.Backup.Files; this.Plugins = redmineSetting.Backup.Plugins; this.Themes = redmineSetting.Backup.Themes; this.PropertyChanged += (sender, args) => { switch (args.PropertyName) { case "Directory": var path = Path.Combine(this.Directory, this.DirectoryName); this.OutputDirectory = Utility.GetSanitizedDirectoryPath(stack, path); break; } }; this.UpdateDiskSpace(); }
public RestoreModel( IApplicationSettingService applicationSettingService, IBitnamiRedmineService bitnamiRedmineService, IBackupService backupService, IDispatcherService dispatcherService, IDialogService dialogService, ILogService logService, BitnamiRedmineStack stack) : base(applicationSettingService, bitnamiRedmineService, backupService, dispatcherService, dialogService, logService, stack) { this.PropertyChanged += (sender, args) => { switch (args.PropertyName) { case "Directory": this.UpdateState(); break; } }; RedmineSetting redmineSetting; this.GetApplicationSetting(out redmineSetting); this.BackupHistories = new CollectionViewSource { Source = this._ApplicationSettingService.BackupHistories }; this._ApplicationSettingService.BackupHistories.CollectionChanged += (sender, args) => this.BackupHistories.View.Refresh(); var version = this.Stack.DisplayVersion.ToVersion(); this.BackupHistories.View.Filter = x => { var setting = (BackupHistorySetting)x; var compared = setting.DisplayVersion.ToVersion() <= version; return(compared); }; this.BackupHistories.View.SortDescriptions.Add(new SortDescription("DateTime", ListSortDirection.Descending)); this.DeleteHistoryCommand = new RelayCommand <BackupHistorySetting>(this.DeleteHistoryExecute); }
public BackupEngine( IBitnamiRedmineService bitnamiRedmineService, IBackupService backupService, IDispatcherService dispatcherService, ILogService logService, BackupConfiguration configuration, BitnamiRedmineStack stack, string outputPath) { if (bitnamiRedmineService == null) { throw new ArgumentNullException(nameof(bitnamiRedmineService)); } if (backupService == null) { throw new ArgumentNullException(nameof(backupService)); } if (logService == null) { throw new ArgumentNullException(nameof(logService)); } if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } if (stack == null) { throw new ArgumentNullException(nameof(stack)); } this._BitnamiRedmineService = bitnamiRedmineService; this._BackupService = backupService; this._DispatcherService = dispatcherService; this._LogService = logService; this._Configuration = configuration; this._Stack = stack; this._OutputPath = outputPath; }
public RestoreEngine( IBitnamiRedmineService bitnamiRedmineService, IBackupService backupService, IDispatcherService dispatcherService, ILogService logService, BackupConfiguration configuration, BitnamiRedmineStack stack, string inputDirectory) { if (bitnamiRedmineService == null) { throw new ArgumentNullException(nameof(bitnamiRedmineService)); } if (backupService == null) { throw new ArgumentNullException(nameof(backupService)); } if (logService == null) { throw new ArgumentNullException(nameof(logService)); } if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } if (stack == null) { throw new ArgumentNullException(nameof(stack)); } this._BitnamiRedmineService = bitnamiRedmineService; this._BackupService = backupService; this._DispatcherService = dispatcherService; this._LogService = logService; this._Configuration = configuration; this._Stack = stack; this._InputDirectory = inputDirectory; }
public static string GetSanitizedDirectoryPath(BitnamiRedmineStack stack, string directory) { var keywords = new[] { "%VERSION%", "%LONGDATE%", "%SHORTDATE%", }; var name = directory ?? ""; var datetime = DateTime.Now; foreach (var keyword in keywords) { do { if (name.IndexOf(keyword, StringComparison.InvariantCulture) == -1) { break; } switch (keyword) { case "%VERSION%": name = name.Replace(keyword, stack.DisplayVersion); break; case "%LONGDATE%": name = name.Replace(keyword, datetime.ToString("yyyyMMdd hhmmss")); break; case "%SHORTDATE%": name = name.Replace(keyword, datetime.ToString("yyyyMMdd")); break; } } while (true); } return(name); }
public Setting(IBitnamiRedmineService bitnamiRedmineService, IRedmineDatabaseConfigurationService databaseConfigurationService, ITaskService taskService, IDialogService dialogService, ILogService logService, BitnamiRedmineStack stack) { if (bitnamiRedmineService == null) { throw new ArgumentNullException(nameof(bitnamiRedmineService)); } if (databaseConfigurationService == null) { throw new ArgumentNullException(nameof(databaseConfigurationService)); } if (taskService == null) { throw new ArgumentNullException(nameof(taskService)); } if (dialogService == null) { throw new ArgumentNullException(nameof(dialogService)); } if (logService == null) { throw new ArgumentNullException(nameof(logService)); } if (stack == null) { throw new ArgumentNullException(nameof(stack)); } this._Stack = stack; this._DialogService = dialogService; this._LogService = logService; var configuration = new ServiceConfiguration { Apache = true, MySql = true, Redmine = true, Subversion = true }; var serviceStatuses = bitnamiRedmineService.GetServiceDisplayNames(stack, configuration); this._ServiceStatuses = new ObservableCollection <ServiceStatus>(serviceStatuses); this._DatabaseConfiguration = databaseConfigurationService.GetDatabaseConfiguration(stack).FirstOrDefault(); this._DatabaseConnectorService = new MySqlConnectorService(this._DatabaseConfiguration, logService); var projects = this._DatabaseConnectorService.GetProjects().ToList(); projects.Insert(0, new ProjectItem(new ProjectObject { Id = 0, Name = "[‘S‘Ì]" })); this._Projects = new ObservableCollection <ProjectItem>(projects); this._SelectedProject = this._Projects.First(); this._SelectedEnumerationType = EnumerationTypes.First(); this.UpdateSelectedEnumeration(); this.SelectedTaskScheduler = new TaskSchedulerViewModel(stack, taskService, dialogService); }
protected BackupRestoreModel( IApplicationSettingService applicationSettingService, IBitnamiRedmineService bitnamiRedmineService, IBackupService backupService, IDispatcherService dispatcherService, IDialogService dialogService, ILogService logService, BitnamiRedmineStack stack) { if (applicationSettingService == null) { throw new ArgumentNullException(nameof(applicationSettingService)); } if (bitnamiRedmineService == null) { throw new ArgumentNullException(nameof(bitnamiRedmineService)); } if (backupService == null) { throw new ArgumentNullException(nameof(backupService)); } if (dispatcherService == null) { throw new ArgumentNullException(nameof(dispatcherService)); } if (dialogService == null) { throw new ArgumentNullException(nameof(dialogService)); } if (logService == null) { throw new ArgumentNullException(nameof(logService)); } if (stack == null) { throw new ArgumentNullException(nameof(stack)); } this._ApplicationSettingService = applicationSettingService; this._BitnamiRedmineService = bitnamiRedmineService; this._BackupService = backupService; this._DispatcherService = dispatcherService; this._DialogService = dialogService; this._LogService = logService; this._Stack = stack; this.Database = true; this.Files = true; this.Plugins = true; this.Themes = true; this.Command = new RelayCommand(this.Execute, this.CanExecute); this.SelectDirectoryCommand = new RelayCommand(this.ExecuteSelectDirectory, this.CanExecuteSelectDirectory); //var bitNamiRedmineStackConfiguration = ConfigurationService.Instance.GetBitnamiRedmineStackConfiguration(stack.DisplayVersion); //bitNamiRedmineStackConfiguration. }