예제 #1
0
        private void OpenFileDlg()
        {
            try
            {
                var ofd = new OpenFileDialog
                {
                    Filter = "Cnc Simple | *.csp"
                };

                var o = ofd.ShowDialog();

                if (o != DialogResult.OK)
                {
                    return;
                }

                var currentFilePath = ofd.FileName;

                var model = FileUtility.Deserialize <FileModel>(currentFilePath);

                // aggiorno filepath
                model.CurrentFilePath = currentFilePath;

                Singleton.SetModelClass(model);

                Mvm = new ClassModelViewModel(_modalDialogService, _messageBoxService, model);
            }
            catch (Exception exception)
            {
                MessageBox.Show("Caricamento file fallito", "Errore", MessageBoxButton.OK,
                                MessageBoxImage.Error, MessageBoxResult.None);
            }
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        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");
            }
        }