private void IndexDocumentDirectory(Entities.DocumentDirectory documentDirectory)
 {
     ProgressViewer.Display(_cancellationTokenIssuer, actions: (token, progress) => {
         _mediator.CommandAsync(new IndexDocumentDirectoryCommand {
             DocumentDirectoryID = documentDirectory.DocumentDirectoryID
         }, token, progress).Wait();
     });
 }
        private void EditDocumentDirectory(Entities.DocumentDirectory documentDirectory)
        {
            using (var dialog = _formManager.Get <DocumentDirectoryForm>()) {
                dialog.ViewModel = documentDirectory;
                if (dialog.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                FillDocumentDirectoryDataGridView();
            }
        }
        private void InitializeDefaultState()
        {
            ViewModel = ViewModel ?? new Entities.DocumentDirectory {
                Code = Guid.NewGuid().ToString("N")
            };
            labelTextBox.Text = ViewModel.Label;
            pathTextBox.Text  = ViewModel.Path;

            positionNumericUpDown.Minimum = MIN_POSITION;
            positionNumericUpDown.Maximum = MAX_POSITION;
            positionNumericUpDown.Value   = ViewModel.Position;
        }
        private void CleanDocumentDirectory(Entities.DocumentDirectory documentDirectory)
        {
            var actions = new Action <CancellationToken, IProgress <ProgressInfo> >[] {
                (token, progress) => {
                    _mediator.CommandAsync(new SaveDocumentDirectoryDocumentsCommand {
                        DocumentDirectoryID = documentDirectory.DocumentDirectoryID
                    }, token, progress).Wait();
                },
                (token, progress) => {
                    _mediator.CommandAsync(new CleanDocumentDirectoryCommand {
                        DocumentDirectoryID = documentDirectory.DocumentDirectoryID
                    }, token, progress).Wait();
                }
            };

            ProgressViewer.Display(_cancellationTokenIssuer, actions: actions);
        }
        private void RemoveDocumentDirectory(Entities.DocumentDirectory documentDirectory)
        {
            var confirm = MessageBox.Show($"Deseja realmente remover o diretório de documentos \"{documentDirectory.Label}\"?"
                                          , "Remover Diretório de Documentos"
                                          , MessageBoxButtons.YesNo
                                          , MessageBoxIcon.Question);

            if (confirm == DialogResult.No)
            {
                return;
            }

            ProgressViewer.Display(_cancellationTokenIssuer, actions: (token, progress) => {
                _mediator.CommandAsync(new RemoveDocumentDirectoryCommand {
                    DocumentDirectoryID = documentDirectory.DocumentDirectoryID
                }, token, progress).Wait();
            });

            FillDocumentDirectoryDataGridView();
        }