Exemple #1
0
        public RestoreViewModel(
            IApplicationSettingService applicationSettingService,
            IBitnamiRedmineService bitnamiRedmineService,
            IBackupService backupService,
            IDispatcherService dispatcherService,
            IDialogService dialogService,
            ILogService logService)
            : base(dialogService, logService)
        {
            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));
            }

            var bitNamiRedmineStacks = bitnamiRedmineService.GetBitnamiRedmineStacks();

            this.Stacks = new ObservableCollection <RestoreModel>(bitNamiRedmineStacks.Select(
                                                                      stack => new RestoreModel(applicationSettingService, bitnamiRedmineService, backupService, dispatcherService, dialogService, logService, stack)));
        }
Exemple #2
0
        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 SettingViewModel(IBitnamiRedmineService bitnamiRedmineService, IRedmineDatabaseConfigurationService databaseConfigurationService, ITaskService taskService, IDialogService dialogService, ILogService logService)
        {
            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));
            }

            this._LogService = logService;
            var bitNamiRedmineStacks = bitnamiRedmineService.GetBitnamiRedmineStacks();

            this.Settings      = new ObservableCollection <Setting>(bitNamiRedmineStacks.Select(stack => new Setting(bitnamiRedmineService, databaseConfigurationService, taskService, dialogService, logService, stack)));
            this.IsEmptyStacks = !this.Settings.Any();
        }
Exemple #4
0
        public ServiceStatus(IBitnamiRedmineService bitnamiRedmineService, string serviceName, ServiceStartupType startupType)
        {
            if (bitnamiRedmineService == null)
            {
                throw new ArgumentNullException(nameof(bitnamiRedmineService));
            }

            this._BitnamiRedmineService = bitnamiRedmineService;
            this._ServiceName           = serviceName;
            this._StartupType           = startupType;
        }
Exemple #5
0
        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 BackupViewModel(
            IApplicationSettingService applicationSettingService,
            IBitnamiRedmineService bitnamiRedmineService,
            IBackupService backupService,
            ITaskService taskService,
            IDispatcherService dispatcherService,
            IDialogService dialogService,
            ILogService logService)
            : base(dialogService, logService)
        {
            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 (taskService == null)
            {
                throw new ArgumentNullException(nameof(taskService));
            }

            if (dispatcherService == null)
            {
                throw new ArgumentNullException(nameof(dispatcherService));
            }

            var bitNamiRedmineStacks = bitnamiRedmineService.GetBitnamiRedmineStacks();

            this.Stacks = new ObservableCollection <BackupModel>(bitNamiRedmineStacks.Select(
                                                                     stack => new BackupModel(applicationSettingService, bitnamiRedmineService, backupService, dispatcherService, dialogService, logService, stack)));

            this._TaskService      = taskService;
            this.CreateTaskCommand = new RelayCommand(this.ExecuteCreateTask, this.CanCreateTaskExecute);
        }
Exemple #7
0
        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;
        }
Exemple #8
0
        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;
        }
Exemple #9
0
        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);
        }
Exemple #10
0
        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.
        }