private void ExecuteDelete(object parameter)
        {
            if (MessageBox.Show("Do you want to delete this nozzle pattern?", "Delete Nozzle Pattern", MessageBoxButton.OKCancel, MessageBoxImage.Question, MessageBoxResult.Cancel) == MessageBoxResult.OK)
            {
                string _selectednozzle = (string)parameter;

                _nozzlepatterns.RemoveAt(FindNozzleIndex((string)_selectednozzle));
                //save entire list
                ObjectToSerialize objectToSerialize = new ObjectToSerialize
                {
                    NozzlePatterns = _nozzlepatterns
                };
                Serializer serializer = new Serializer();
                serializer.SerializeObject <ObjectToSerialize>(Constants._nozzlefilename, objectToSerialize);

                _nozzlenames.Remove(_selectednozzle);
                SprayDesigner = new YankeeShower.Views.SprayDesigner(100, 100, 30);

                NozzleType _t = new NozzleType();
                foreach (NozzleType n in NozzleTypes)
                {
                    if (n.NozzleTypeName == _selectednozzle)
                    {
                        _t = n;
                        break;
                    }
                }
                NozzleTypes.Remove(_t);

                //  NozzleTypes.Remove()
                // StaticData.CreateNozzleList();
                //      ViewModels.ShowerVM.UpdateNozzleTypes();
                //ViewModels.NozzleSettingsVM.UpdateNozzleTypes();
            }
        }
 private void ExecuteNew(object parameter)
 {
     SprayDesigner     = new YankeeShower.Views.SprayDesigner(100, 100, 30);
     SelectedNozzle    = string.Empty;
     _canexecutesave   = false;
     _canexecutedelete = false;
 }
        public NozzlePatternVM(FullyObservableCollection <NozzleType> _noztypes)
        {
            _nozzlepatterns = new List <Pattern>();
            _nozzlenames    = new ObservableCollection <string>();
            NozzleTypes     = _noztypes;

            try
            {
                if (File.Exists(Constants._nozzlefilename))
                {
                    ObjectToSerialize objectToSerialize = new ObjectToSerialize();
                    Serializer        serializer        = new Serializer();
                    objectToSerialize = serializer.DeSerializeObject <ObjectToSerialize>(Constants._nozzlefilename);
                    _nozzlepatterns   = objectToSerialize.NozzlePatterns;

                    if (_nozzlepatterns.Count > 0)
                    {
                        _spraydesigner = new YankeeShower.Views.SprayDesigner(100, 100, 30)
                        {
                            Spray = (int[])_nozzlepatterns[0].PPattern.Clone()
                        };

                        SprayDesigner = _spraydesigner;

                        //populate combo

                        for (int i = 0; i < _nozzlepatterns.Count; i++)
                        {
                            _nozzlenames.Add(_nozzlepatterns[i].PName);
                        }
                        SelectedNozzle = _nozzlepatterns[0].PName;
                    }
                }
                else
                {
                    MessageBox.Show("The nozzle pattern file cannot be found.", "File missing", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);
                    CloseWindowFlag = true;
                }
            }
            catch
            {
                MessageBox.Show("The nozzle pattern file cannot be loaded.", "Unable to load file", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);
                CloseWindowFlag = true;
            }

            NewSprayPattern    = new RelayCommand(ExecuteNew, CanExecuteNew);
            SaveSprayPattern   = new RelayCommand(ExecuteSave, CanExecuteSave);
            SaveAsSprayPattern = new RelayCommand(ExecuteSaveAs, CanExecuteSaveAs);
            DeleteSprayPattern = new RelayCommand(ExecuteDelete, CanExecuteDelete);
        }