public StringOfVarParamsVM(StringOfVarParameters model) => Model = model;
Esempio n. 2
0
        private void btnTable_Click(object sender, RoutedEventArgs e)
        {
            StringOfVarParameters     stringOfVar = null;
            StringOfVarParamsVM       varParamsVM = null;
            StringOfVarParametersView view        = null;

            switch (((Button)sender).Name)
            {
            case "btnAdd":
                int maxid = 0;
                if (((PremagFlatArmVM)DataContext).VariationData.Count != 0)
                {
                    maxid = ((PremagFlatArmVM)DataContext).VariationData.Select(i => i.ID_culc).Max();
                    StringOfVarParameters varParametersMaxid = ((PremagFlatArmVM)DataContext).VariationData.FirstOrDefault(i => i.ID_culc == maxid);
                    stringOfVar         = (StringOfVarParameters)varParametersMaxid.Clone();
                    stringOfVar.ID_culc = ++maxid;
                }
                else
                {
                    stringOfVar = new StringOfVarParameters {
                        ID_culc = ++maxid
                    }
                };                                                                     //new item
                //int maxid = ((PremagFlatArmVM)DataContext).VariationData.Count != 0 ? ((PremagFlatArmVM)DataContext).VariationData.Select(i => i.ID_culc).Max() :
                //    0;
                //stringOfVar = new StringOfVarParameters { ID_culc = ++maxid }; //new item
                //for validation
                stringOfVar.SetParametersForModelValidation(StringToDouble(((PremagFlatArmVM)DataContext).R0), StringToDouble(((PremagFlatArmVM)DataContext).R10),
                                                            StringToDouble(((PremagFlatArmVM)DataContext).dпз1), StringToDouble(((PremagFlatArmVM)DataContext).dвст));
                varParamsVM = new StringOfVarParamsVM(stringOfVar);
                view        = new StringOfVarParametersView {
                    DataContext = varParamsVM,
                    Owner       = this
                };
                view.ShowDialog();
                if (!varParamsVM.IsOK)
                {
                    return;
                }
                ((PremagFlatArmVM)DataContext).VariationData.Add(varParamsVM.Model);     //add to db
                btnEdit.Visibility = Visibility.Visible;
                break;

            case "btnEdit":
                if (dtgrdVarParams.SelectedItem != null)
                {
                    StringOfVarParameters selectedStringOfVar = ((PremagFlatArmVM)DataContext).VariationData.Where(
                        i => i.ID_culc == ((StringOfVarParameters)dtgrdVarParams.SelectedItem).ID_culc).FirstOrDefault();
                    stringOfVar = (StringOfVarParameters)selectedStringOfVar.Clone();
                    //for validation
                    stringOfVar.SetParametersForModelValidation(StringToDouble(((PremagFlatArmVM)DataContext).R0), StringToDouble(((PremagFlatArmVM)DataContext).R10),
                                                                StringToDouble(((PremagFlatArmVM)DataContext).dпз1), StringToDouble(((PremagFlatArmVM)DataContext).dвст));
                    varParamsVM = new StringOfVarParamsVM(stringOfVar);
                    view        = new StringOfVarParametersView {
                        DataContext = varParamsVM,
                        Owner       = this
                    };
                    view.ShowDialog();
                    if (!varParamsVM.IsOK)
                    {
                        return;
                    }
                    //modify the db
                    StringOfVarParameters removeItem = ((PremagFlatArmVM)DataContext).VariationData.Where(i => i.ID_culc == varParamsVM.Model.ID_culc).FirstOrDefault();
                    ((PremagFlatArmVM)DataContext).VariationData.Remove(removeItem);
                    ((PremagFlatArmVM)DataContext).VariationData.Add(varParamsVM.Model);

                    #region sorting
                    var sortshot = ((PremagFlatArmVM)DataContext).VariationData.OrderBy(i => i.ID_culc);
                    ObservableCollection <StringOfVarParameters> snapshot = new ObservableCollection <StringOfVarParameters>();
                    foreach (StringOfVarParameters item in sortshot)
                    {
                        snapshot.Add(item);
                    }
                    ((PremagFlatArmVM)DataContext).VariationData.Clear();
                    foreach (StringOfVarParameters item in snapshot)
                    {
                        ((PremagFlatArmVM)DataContext).VariationData.Add(item);
                    }
                    #endregion
                }
                break;

            case "btnDel":
                if (dtgrdVarParams.SelectedItem != null)
                {
                    ((PremagFlatArmVM)DataContext).VariationData.Remove((StringOfVarParameters)dtgrdVarParams.SelectedItem);
                }
                if (((PremagFlatArmVM)DataContext).VariationData.Count == 0)
                {
                    btnEdit.Visibility = Visibility.Hidden;
                }
                break;
            }
        }