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(); } }
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); } } }); }