/// <summary> /// la tabella filettatura mi interessa caricarla solamente quando ne ho necessita. /// le macchine invece mi servono sempre.. /// </summary> //private TabellaFilettature _tabellaFilettatura; public MainViewModel(IModalDialogService modalDialogService, IMessageBoxService messageBoxService) { _modalDialogService = modalDialogService; _messageBoxService = messageBoxService; ProgramPreference preference; try { LoadData(); preference = PathFolderHelper.GetPreferenceData(); if (preference == null) { // Creo nuovo e apro finestra dialogo preferenze preference = new ProgramPreference(); OpenDialog(DialogEnum.UnitSelection); } //_model = new Singleton(_preference.MeasureUnit); } catch (Exception exception) { throw new Exception("MainViewModel.MainViewModel.( load data stage)"); } Singleton.CreateNewModelClass(preference.DefaultMeasureUnit); Mvm = new ClassModelViewModel(_modalDialogService, _messageBoxService, Singleton.Instance); //ResetGui(Singleton.Instance); }
public ProgramPreferenceViewModel(ProgramPreference preference) { _measureUnitPrevious = preference.DefaultMeasureUnit; _preference = preference; MmPreference = new UnitPreferenceViewModel(preference.GetPreference(MeasureUnit.Millimeter)); InchPreference = new UnitPreferenceViewModel(preference.GetPreference(MeasureUnit.Inch)); }
private void NewFile(bool forceNewFile = false) { var previousFilePath = Mvm.FilePath; try { var messageBox = MessageBox.Show("Save current file ? ", "New File", MessageBoxButton.YesNoCancel, MessageBoxImage.Question, MessageBoxResult.Cancel); if (!forceNewFile) { if (messageBox == MessageBoxResult.Cancel) { return; } } if (messageBox == MessageBoxResult.Yes) { Mvm.Save(); } /* * apro nuova finestra dialogo e chiedo inch / mm * * oppure faccio file impostazioni a inizio ? * * se faccio cosi come faccio a cambiare ?? oppure cambio da settaggio * * siccome è ovvio che se parto con mm continuo */ var preference = PathFolderHelper.GetPreferenceData(); if (preference == null) { // Creo nuovo e apro finestra dialogo preferenze preference = new ProgramPreference(); } Singleton.CreateNewModelClass(preference.DefaultMeasureUnit); var model = Singleton.Instance; Mvm = new ClassModelViewModel(_modalDialogService, _messageBoxService, model); } catch (Exception) { MessageBox.Show("Errore Creazione nuovo file"); } }
private void LoadData() { try { /* todo : * * qui c'è problema logico . se lancio eccezione durante caricamento di un file mi salta tutto il loadData * */ /* * controllo che */ /* * Controllo che il file delle preferenze esista.. */ var preference = PathFolderHelper.GetPreferenceData(); if (preference == null) { // Creo nuovo e apro finestra dialogo preferenze preference = new ProgramPreference(); OpenDialog(DialogEnum.UnitSelection); } // qui la classe preference deve essere settata per forza.. _machines = PathFolderHelper.GetToolMachines(); OnPropertyChanged("HorizontalLatheMachines"); OnPropertyChanged("Lathe3AxisMachines"); OnPropertyChanged("MillMachines"); } catch (Exception ex) { MessageBox.Show("Errore durante caricamento data"); } }
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); } } }); }
public static void SetPreference(ProgramPreference preference) { _preference = preference; }