예제 #1
0
        public PageControllerModel(
            PageControllerToken token,
            ModuleActivator activator,
            PageControllerReducer reducer,
            SerialUtil serialUtil,
            MainReducer mainReducer,
            WindowPageHost windowPageHost,
            DatabaseManager databaseManager,
            DatabaseBackupService databaseBackupService
            )
        {
            _activator             = activator;
            _windowPageHost        = windowPageHost;
            _databaseManager       = databaseManager;
            _databaseBackupService = databaseBackupService;
            this._serialUtil       = serialUtil;
            InitHandlers();
            ActivateContent(token);

            this.WhenActivated((c) => {
                mainReducer.Select(state => state.FullscreenMode)
                .ObserveOnDispatcher(DispatcherPriority.Background)
                .Subscribe(isFullScreen => this.MenuVisibility = !isFullScreen)
                .DisposeWith(c);
                reducer.Select(state => state.SelectedPage)
                .Where(LambdaHelper.NotNull)
                .WithLatestFrom(reducer.Select(state => state.Controls), LambdaHelper.ToTuple)
                .ObserveOnDispatcher(DispatcherPriority.Background)
                .Subscribe(tuple => {
                    var(selectedPage, controlsDict) = tuple;
                    var controls = selectedPage == null
                            ? new List <ButtonConfig>()
                            : controlsDict.GetOrDefault(selectedPage.Id) ?? new List <ButtonConfig>();
                    SetActionButtons(controls);
                })
                .DisposeWith(c);
                _serialUtil.ConnectionStatus
                .ObserveOnDispatcher(DispatcherPriority.Background)
                .Select(status => status.IsConnected)
                .Subscribe(status => {
                    this.ReaderMenuText = status
                            ? Localization["Отключить считыватель"]
                            : Localization["Включить считыватель"];
                })
                .DisposeWith(c);
            });
        }
예제 #2
0
        private void btnDbBackup_Click(object sender, RoutedEventArgs e)
        {
            System.Windows.Forms.FolderBrowserDialog browse = new System.Windows.Forms.FolderBrowserDialog();
            browse.ShowDialog();
            string folderPath = browse.SelectedPath;

            if (string.IsNullOrEmpty(folderPath.Trim()))
            {
                UIHelper.ShowErrorMessage("Select Path to save backup");
                return;
            }
            try
            {
                DatabaseBackupService objDbBackup = new DatabaseBackupService(Const.DatabaseServer, folderPath);
                objDbBackup.BackupDatabase(Const.DatabaseName);
                UIHelper.ShowMessage("Backup created!");
            }
            catch
            {
                UIHelper.ShowErrorMessage("ERROR!");
            }
        }
예제 #3
0
 public BackupController(DatabaseBackupService <PersistenceContext> backupService)
 {
     _backupService = backupService;
 }
예제 #4
0
 public AdministrationController(UserService userService, DatabaseBackupService backupService) : base(userService)
 {
     _backupService = backupService;
 }