Exemple #1
0
        public async Task <TResult> ShowDialogAsync <TResult>(BaseDialogViewModel <TResult> viewModel)
        {
            if (shell.IsDialogShown)
            {
                throw new InvalidOperationException("Other dialog is already shown.");
            }

            var tcs  = new TaskCompletionSource <TResult>();
            var view = GetView(viewModel.GetType());

            view.DataContext = viewModel;

            viewModel.RequestCloseCallback = r =>
            {
                shell.HideDialogAsync();
                tcs.TrySetResult(r);
            };

            try
            {
                shell.IsDialogShown = true;

                await shell.ShowDialogAsync(view);

                return(await tcs.Task);
            }
            finally
            {
                shell.IsDialogShown            = false;
                viewModel.RequestCloseCallback = null;
            }
        }
        public T OpenDialogService <T>(BaseDialogViewModel <T> dialogViewModel)
        {
            IDialogWindow window = new DialogWindow();

            window.DataContext = dialogViewModel;
            window.ShowDialog();
            return(dialogViewModel.DialogResult);
        }
Exemple #3
0
        public static T OpenDialog <T>(BaseDialogViewModel <T> viewModel)
        {
            IDialogWindow window = new BaseDialogWindow();

            window.DataContext = viewModel;
            window.ShowDialog();
            return(viewModel.DialogResult);
        }
 /// <summary>
 ///		Abre un cuadro de diálogo
 /// </summary>
 public SystemControllerEnums.ResultType OpenDialog(BaseDialogViewModel dialogViewModel)
 {
     // Muestra el cuadro de diálogo
     switch (dialogViewModel)
     {
     case Libraries.PluginsStudio.ViewModels.Tools.CreateFileViewModel viewModel:
         return(DbStudioViewManager.AppViewController.OpenDialog(new Views.Files.CreateFileView(viewModel)));
     }
     // Devuelve el valor predeterminado
     return(SystemControllerEnums.ResultType.No);
 }
Exemple #5
0
        public static async Task <DialogResult> ShowDialog(BaseDialogViewModel vm)
        {
            var result = await ShowDialogInternal(vm) as DialogResult;

            //The static method DialogHost.Close was called
            if (result is null)
            {
                return(DialogResult.Cancel);
            }

            return(result);
        }
Exemple #6
0
        public static async Task <DialogResult <T> > ShowDialog <T>(BaseDialogViewModel vm)
        {
            var result = await ShowDialogInternal(vm) as DialogResult <T>;

            //The static method DialogHost.Close was called
            if (result is null)
            {
                return(new DialogResult <T>(DialogAction.Cancel, default));
            }

            return(result);
        }
        public void ShowAboutWindow()
        {
            var baseDialogViewModel = new BaseDialogViewModel(Properties.strings.About);
            var aboutViewModel      = new AboutViewModel(Properties.strings.About);

            baseDialogViewModel.CurrentViewModel = aboutViewModel;
            var baseDialog = new BaseDialogWindow {
                DataContext = baseDialogViewModel
            };

            aboutViewModel.CloseRequest += baseDialog.OnCloseDialog;
            var result = baseDialog.ShowDialog();
        }
Exemple #8
0
        private static async Task <object> ShowDialogInternal(BaseDialogViewModel vm)
        {
            var viewType = await FindView(vm.GetType());

            var view = Activator.CreateInstance(viewType) as UserControl;

            view.DataContext = vm;

            return(await DialogHost.Show(view, openedEventHandler : (sender, e) =>
            {
                vm.Close = e.Session.Close;
            }));
        }
        public void ShowSettingsWindow()
        {
            var baseDialogViewModel = new BaseDialogViewModel(Properties.strings.Settings);
            var settingsViewModel   = new SettingsViewModel(Properties.strings.Settings);

            baseDialogViewModel.CurrentViewModel = settingsViewModel;
            var baseDialog = new BaseDialogWindow {
                DataContext = baseDialogViewModel
            };

            settingsViewModel.DialogResultFalseRequest += baseDialog.OnDialogResultFalse;
            settingsViewModel.DialogResultTrueRequest  += baseDialog.OnDialogResultTrue;
            var result = baseDialog.ShowDialog();
        }
        public void ShowReportErrorWindow()
        {
            var baseDialogViewModel  = new BaseDialogViewModel(Properties.strings.ReportError);
            var reportErrorViewModel = new ReportErrorViewModel(Properties.strings.ReportError);

            baseDialogViewModel.CurrentViewModel = reportErrorViewModel;
            var baseDialog = new BaseDialogWindow {
                DataContext = baseDialogViewModel
            };

            reportErrorViewModel.DialogResultFalseRequest += baseDialog.OnDialogResultFalse;
            reportErrorViewModel.DialogResultTrueRequest  += baseDialog.OnDialogResultTrue;
            var result = baseDialog.ShowDialog();
        }
Exemple #11
0
        /// <summary>
        ///		Abre un cuadro de diálogo
        /// </summary>
        public SystemControllerEnums.ResultType OpenDialog(BaseDialogViewModel dialogViewModel)
        {
            SystemControllerEnums.ResultType result = SystemControllerEnums.ResultType.No;

            // Abre la ventana
            switch (dialogViewModel)
            {
            case ViewModels.Solution.RestApiViewModel viewModel:
                result = RestStudioViewManager.AppViewsController.OpenDialog(new Solution.RestView(viewModel));
                break;

            case ViewModels.Solution.ContextViewModel viewModel:
                result = RestStudioViewManager.AppViewsController.OpenDialog(new Solution.ContextView(viewModel));
                break;

            case ViewModels.Solution.MethodViewModel viewModel:
                result = RestStudioViewManager.AppViewsController.OpenDialog(new Solution.MethodView(viewModel));
                break;
            }
            // Devuelve el resultado
            return(result);
        }
        public bool ShowDialog(BaseDialogViewModel vm)
        {
            var dialog = new DialogWindow
            {
                DataContext = vm
            };

            // When the vm sets its DialogResult, that should set the DialogResult
            // of the DialogWindow.
            vm.PropertyChanged += VmOnPropertyChanged;

            var view = ViewFactory.GetView(vm);

            MoveSizingFromViewToDialog(view, dialog);

            dialog.Content = view;

            _dialogs.Add(vm, dialog);

            // BaseDialogViewModel can read its own properties such as vm.DialogResult
            // or it can just read the bool returned by dialog.ShowDialog().
            var result = dialog.ShowDialog().GetValueOrDefault();

            if (_dialogs.ContainsKey(vm))
            {
                _dialogs.Remove(vm);
            }

            vm.PropertyChanged -= VmOnPropertyChanged;

            if (!result)
            {
                vm.DialogResult = false;
            }

            return(result);
        }
        /// <summary>
        /// Return T result
        /// </summary>
        /// <typeparam name="T">Return type</typeparam>
        /// <param name="viewModel">New dialogviewmodel</param>
        /// <returns><typeparam name="T"/> DialogResult</returns>
        public T Show <T>(BaseDialogViewModel <T> viewModel)
        {
            bool?result = ShowDialog(viewModel);

            // Return null or bool result
            return(!result.HasValue ? default : result.Value?viewModel.DialogResult: default);
Exemple #14
0
 /// <summary>
 /// Displays a add notification window to user
 /// </summary>
 /// <param name="viewModel">The view model</param>
 /// <returns></returns>
 public Task ShowAddNotification(BaseDialogViewModel viewModel)
 {
     return(new DialogAddNotification().ShowDialog(viewModel));
 }
Exemple #15
0
 /// <summary>
 /// Displays a add notification window to user
 /// </summary>
 /// <param name="viewModel">The view model</param>
 /// <returns></returns>
 public Task ShowLogIn(BaseDialogViewModel viewModel)
 {
     return(new DialogLogin().ShowDialog(viewModel));
 }
Exemple #16
0
 /// <summary>
 /// Displays a add notification window to user
 /// </summary>
 /// <param name="viewModel">The view model</param>
 /// <returns></returns>
 public Task ShowOption(BaseDialogViewModel viewModel)
 {
     return(new DialogDecide().ShowDialog(viewModel));
 }
Exemple #17
0
 /// <summary>
 /// Displays a single message box to the user
 /// </summary>
 /// <param name="viewModel">The view model</param>
 /// <returns></returns>
 public Task ShowMessage(BaseDialogViewModel viewModel)
 {
     return(new DialogMessageBox().ShowDialog(viewModel));
 }
        /// <summary>
        ///		Abre un cuadro de diálogo
        /// </summary>
        public SystemControllerEnums.ResultType OpenDialog(BaseDialogViewModel dialogViewModel)
        {
            SystemControllerEnums.ResultType result = SystemControllerEnums.ResultType.No;

            // Abre la ventana
            switch (dialogViewModel)
            {
            case ViewModels.Details.Cloud.StorageViewModel viewModel:
                result = DbStudioViewManager.AppViewsController.OpenDialog(new Cloud.StorageView(viewModel));
                break;

            case ViewModels.Details.Connections.ConnectionViewModel viewModel:
                result = DbStudioViewManager.AppViewsController.OpenDialog(new Connections.ConnectionView(viewModel));
                break;

            case ViewModels.Details.Deployments.DeploymentViewModel viewModel:
                result = DbStudioViewManager.AppViewsController.OpenDialog(new Deployments.DeploymentView(viewModel));
                break;

            case ViewModels.Details.Files.Structured.CsvFilePropertiesViewModel viewModel:
                result = DbStudioViewManager.AppViewsController.OpenDialog(new Files.CsvFilePropertiesView(viewModel));
                break;

            case ViewModels.Details.Files.Structured.ParquetFilePropertiesViewModel viewModel:
                result = DbStudioViewManager.AppViewsController.OpenDialog(new Files.ParquetFilePropertiesView(viewModel));
                break;

            case ViewModels.Details.EtlProjects.CreateTestXmlViewModel viewModel:
                result = DbStudioViewManager.AppViewsController.OpenDialog(new EtlProjects.CreateTestXmlView(viewModel));
                break;

            case ViewModels.Details.EtlProjects.CreateValidationScriptsViewModel viewModel:
                result = DbStudioViewManager.AppViewsController.OpenDialog(new EtlProjects.CreateValidationScriptView(viewModel));
                break;

            case ViewModels.Details.EtlProjects.CreateImportFilesScriptViewModel viewModel:
                result = DbStudioViewManager.AppViewsController.OpenDialog(new EtlProjects.CreateImportFilesScriptView(viewModel));
                break;

            case ViewModels.Details.EtlProjects.ExportDatabaseViewModel viewModel:
                result = DbStudioViewManager.AppViewsController.OpenDialog(new EtlProjects.ExportDatabaseView(viewModel));
                break;

            case ViewModels.Details.EtlProjects.CreateSchemaXmlViewModel viewModel:
                result = DbStudioViewManager.AppViewsController.OpenDialog(new EtlProjects.CreateSchemaXmlView(viewModel));
                break;

            case ViewModels.Details.Reporting.Relations.DimensionRelationViewModel viewModel:
                result = DbStudioViewManager.AppViewsController.OpenDialog(new Reporting.Details.Relations.DimensionRelationView(viewModel));
                break;

            case ViewModels.Details.Reporting.Tools.CreateSchemaReportingXmlViewModel viewModel:
                result = DbStudioViewManager.AppViewsController.OpenDialog(new Reporting.Tools.CreateSchemaReportingXmlView(viewModel));
                break;

            case ViewModels.Details.Reporting.Tools.CreateScriptsSqlReportingViewModel viewModel:
                result = DbStudioViewManager.AppViewsController.OpenDialog(new Reporting.Tools.CreateReportingSqlView(viewModel));
                break;

            case ViewModels.Details.Reporting.Queries.ListReportColumnFilterViewModel viewModel:
                result = DbStudioViewManager.AppViewsController.OpenDialog(new Reporting.Queries.ListFilterColumnView(viewModel));
                break;
            }
            // Devuelve el resultado
            return(result);
        }