Ejemplo n.º 1
0
        private void UpdateCommands()
        {
            OpenSessionCommand.RaiseCanExecuteChanged();
            CloseSessionCommand.RaiseCanExecuteChanged();
            //TakePictureCommand.RaiseCanExecuteChanged();//TODO перепроверить
            StartLiveViewCommand.RaiseCanExecuteChanged();
            RefreshCameraCommand.RaiseCanExecuteChanged();

            SetWindowStatus(!_sessionOpened);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SessionManagerToolWindowControl"/> class.
        /// </summary>
        public SessionManagerToolWindowControl(
            SessionManagerToolWindowState state,
            ISessionManager sessionManager,
            SaveCurrentSessionCommand saveCurrentSessionCommand,
            RestoreSessionCommand restoreSessionCommand,
            OpenSessionCommand openSessionCommand,
            CloseSessionDocumentsCommand closeSessionDocumentsCommand,
            DeleteSessionCommand deleteSessionCommand,
            PackageAccessor packageAccessor)
        {
            State               = state;
            SessionManager      = sessionManager;
            _openSessionCommand = openSessionCommand;
            _package            = packageAccessor.Package;

            RestoreSessionCommand = new RelayCommand(
                param => _package.JoinableTaskFactory.RunAsync(async() => await restoreSessionCommand.ExecuteAsync(State.SelectedSession)));
            OpenSessionCommand = new RelayCommand(
                param => _package.JoinableTaskFactory.RunAsync(async() => await openSessionCommand.ExecuteAsync(State.SelectedSession)));
            CloseSessionDocumentsCommand = new RelayCommand(
                param => _package.JoinableTaskFactory.RunAsync(async() => await closeSessionDocumentsCommand.ExecuteAsync(State.SelectedSession)));
            DeleteSessionCommand = new RelayCommand(
                param => _package.JoinableTaskFactory.RunAsync(async() => await deleteSessionCommand.ExecuteAsync(State.SelectedSession)));
            RenameSessionCommand = new RelayCommand(
                param => _package.JoinableTaskFactory.RunAsync(async() => await RenameSessionAsync()));
            UpdateSessionCommand = new RelayCommand(
                param => _package.JoinableTaskFactory.RunAsync(async() =>
            {
                if (MessageBox.Show($"Documents saved in \"{State.SelectedSession.Name}\" will be replaced with " +
                                    $"the currently opened documents. Are you sure you want to continue?",
                                    "Confirm",
                                    MessageBoxButton.YesNo,
                                    MessageBoxImage.Question) != MessageBoxResult.Yes)
                {
                    return;
                }
                await saveCurrentSessionCommand.ExecuteAsync(State.SelectedSession);
            }));

            this.InitializeComponent();
        }