public void Save(IMainViewModel mainViewModel)
        {
            PathFolderHelper.SavePreferenceFile(_preference);

            if (_measureUnitPrevious != _preference.DefaultMeasureUnit)
            {
                // quando viene cambiato unità di misura viene richiesto di creare nuovo file
                mainViewModel.RequestNewFile();
            }
        }
Ejemplo n.º 2
0
        private void OpenDialog(DialogEnum dialogEnum)
        {
            ViewModelBase viewModelBase = null;
            var           dialogKey     = string.Empty;

            switch (dialogEnum)
            {
            case DialogEnum.TabellaFilettatura:
            {
                var tabellaFilettatura = PathFolderHelper.GetTabellaFilettatura();

                /*
                 * todo prendere measure unit da preferenze
                 */
                viewModelBase = new TabellaFilettaturaViewModel(tabellaFilettatura, Singleton.Instance.MeasureUnit);

                dialogKey = Constants.TabellaFilettaturaModalDialog;
            } break;

            case DialogEnum.MacchineDialogo:
            {
                viewModelBase = new MacchineDialogViewModel(_machines);
                dialogKey     = Constants.MacchineModalDialog;
            } break;

            case DialogEnum.MaterialiDialogo:
            {
                //var magazzinoUtensile = PathFolderHelper.GetMagazzinoUtensile();

                viewModelBase = new MaterialiDialogoViewModel();

                dialogKey = Constants.MaterialiModalDialog;
            } break;

            case DialogEnum.UtensiliDialogo:
            {
                //var magazzinoUtensile = PathFolderHelper.GetMagazzinoUtensile();

                viewModelBase = new UtensiliDialogoViewModel(Singleton.Instance.MeasureUnit);

                dialogKey = Constants.UtensiliModalDialog;
            } break;

            case DialogEnum.DettagliArticolo:
            {
                viewModelBase = new ArticleDetailViewModel();

                dialogKey = Constants.ArticleDetailDialog;
            } break;

            case DialogEnum.ProgramPreference:
            {
                var preference = PathFolderHelper.GetPreferenceData();

                if (preference == null)
                {
                    // Creo nuovo e apro finestra dialogo preferenze
                    preference = new ProgramPreference();
                    PathFolderHelper.SavePreferenceFile(preference);
                }

                viewModelBase = new ProgramPreferenceViewModel(preference);

                dialogKey = Constants.PreferenceModalDialog;
            } break;

            case DialogEnum.UnitSelection:
            {
                var preference = PathFolderHelper.GetPreferenceData();

                if (preference == null)
                {
                    // Creo nuovo e apro finestra dialogo preferenze
                    preference = new ProgramPreference();
                    PathFolderHelper.SavePreferenceFile(preference);
                }

                viewModelBase = new ProgramPreferenceViewModel(preference);

                dialogKey = Constants.UnitSelectionDialog;
            } break;

            default:
                throw new NotImplementedException("MainViewModel.OpenDialog");
            }

            var dialog = SimpleServiceLocator.Instance.Get <IModalWindow>(dialogKey);

            _modalDialogService.ShowDialog(dialog, viewModelBase,
                                           returnedViewModelInstance =>
            {
                if (dialog.DialogResult.HasValue && dialog.DialogResult.Value)
                {
                    if (viewModelBase is IDialog)
                    {
                        var d = viewModelBase as IDialog;

                        d.Save(this);
                    }
                }
            });
        }