Пример #1
0
 public StringOfVarParamsPlngrVM(StringOfVarParametersPlunger model) => Model = model;
Пример #2
0
        private void btnTable_Click(object sender, RoutedEventArgs e)
        {
            StringOfVarParametersPlunger stringOfVar = null;
            StringOfVarParamsPlngrVM     varParamsVM = null;
            StringOfVarParamsPlngrView   view        = null;

            switch (((Button)sender).Name)
            {
            case "btnAdd":
                int maxid = 0;
                if (((PremagPlungerVM)DataContext).VariationData.Count != 0)
                {
                    maxid = ((PremagPlungerVM)DataContext).VariationData.Select(i => i.ID_culc).Max();
                    StringOfVarParametersPlunger varParametersMaxid = ((PremagPlungerVM)DataContext).VariationData.FirstOrDefault(i => i.ID_culc == maxid);
                    stringOfVar         = (StringOfVarParametersPlunger)varParametersMaxid.Clone();
                    stringOfVar.ID_culc = ++maxid;
                }
                else
                {
                    stringOfVar = new StringOfVarParametersPlunger {
                        ID_culc = ++maxid
                    }
                };                                                                            //new item
                //for validation
                stringOfVar.SetParametersForModelValidation(StringToDouble(((PremagPlungerVM)DataContext).R0), StringToDouble(((PremagPlungerVM)DataContext).R10),
                                                            StringToDouble(((PremagPlungerVM)DataContext).R110), StringToDouble(((PremagPlungerVM)DataContext).R1110),
                                                            StringToDouble(((PremagPlungerVM)DataContext).hфл), StringToDouble(((PremagPlungerVM)DataContext).l1),
                                                            StringToDouble(((PremagPlungerVM)DataContext).l2));
                varParamsVM = new StringOfVarParamsPlngrVM(stringOfVar);
                view        = new StringOfVarParamsPlngrView {
                    DataContext = varParamsVM,
                    Owner       = this
                };
                view.ShowDialog();
                if (!varParamsVM.IsOK)
                {
                    return;
                }
                ((PremagPlungerVM)DataContext).VariationData.Add(varParamsVM.Model);     //add to db
                btnEdit.Visibility = Visibility.Visible;
                break;

            case "btnEdit":
                if (dtgrdVarParams.SelectedItem != null)
                {
                    StringOfVarParametersPlunger selectedStringOfVar = ((PremagPlungerVM)DataContext).VariationData.Where(
                        i => i.ID_culc == ((StringOfVarParametersPlunger)dtgrdVarParams.SelectedItem).ID_culc).FirstOrDefault();
                    stringOfVar = (StringOfVarParametersPlunger)selectedStringOfVar.Clone();
                    //for validation
                    stringOfVar.SetParametersForModelValidation(StringToDouble(((PremagPlungerVM)DataContext).R0), StringToDouble(((PremagPlungerVM)DataContext).R10),
                                                                StringToDouble(((PremagPlungerVM)DataContext).R110), StringToDouble(((PremagPlungerVM)DataContext).R1110),
                                                                StringToDouble(((PremagPlungerVM)DataContext).hфл), StringToDouble(((PremagPlungerVM)DataContext).l1),
                                                                StringToDouble(((PremagPlungerVM)DataContext).l2));
                    varParamsVM = new StringOfVarParamsPlngrVM(stringOfVar);
                    view        = new StringOfVarParamsPlngrView {
                        DataContext = varParamsVM,
                        Owner       = this
                    };
                    view.ShowDialog();
                    if (!varParamsVM.IsOK)
                    {
                        return;
                    }
                    //modify the db
                    StringOfVarParametersPlunger removeItem = ((PremagPlungerVM)DataContext).VariationData.Where(i => i.ID_culc == varParamsVM.Model.ID_culc).FirstOrDefault();
                    ((PremagPlungerVM)DataContext).VariationData.Remove(removeItem);
                    ((PremagPlungerVM)DataContext).VariationData.Add(varParamsVM.Model);

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

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