Example #1
0
        private void btnTableMD_Click(object sender, RoutedEventArgs e)
        {
            PremagAxisMainDataModel stringOfVar = null;
            PremagAxisMDVM          varParamsVM = null;
            AxisMDView view = null;

            switch (((Button)sender).Name)
            {
            case "btnAddMD":
                int max_idSlot = 0;
                if (((PremagAxisVM)DataContext).VariationDataMainData.Count != 0)
                {
                    max_idSlot = ((PremagAxisVM)DataContext).VariationDataMainData.Select(i => i.ID_slot).Max();
                    PremagAxisMainDataModel varParametersMaxid = ((PremagAxisVM)DataContext).VariationDataMainData.FirstOrDefault(i => i.ID_slot == max_idSlot);
                    stringOfVar         = (PremagAxisMainDataModel)varParametersMaxid.Clone();
                    stringOfVar.ID_slot = ++max_idSlot;
                }
                else
                {
                    stringOfVar = new PremagAxisMainDataModel {
                        ID_slot = ++max_idSlot
                    }
                };                                                                            //new item
                varParamsVM = new PremagAxisMDVM(stringOfVar);
                view        = new AxisMDView {
                    DataContext = varParamsVM,
                    Owner       = this
                };
                view.ShowDialog();
                if (!varParamsVM.IsOK)
                {
                    return;
                }
                ((PremagAxisVM)DataContext).VariationDataMainData.Add(varParamsVM.Model);     //add to db
                #region modify of variation data
                if (((PremagAxisVM)DataContext).VariationDataUpMagnets.Count != 0)
                {
                    List <StringOfVarParametersAxis> appendVarParams = new List <StringOfVarParametersAxis>();
                    foreach (StringOfVarParametersAxis vpUp in ((PremagAxisVM)DataContext).VariationDataUpMagnets)
                    {
                        StringOfVarParametersAxis item = new StringOfVarParametersAxis {
                            ID_culc = vpUp.ID_culc, ID_slot = varParamsVM.Model.ID_slot
                        };
                        if (!appendVarParams.Contains(item))
                        {
                            appendVarParams.Add(item);
                        }
                    }
                    foreach (StringOfVarParametersAxis vp in appendVarParams)
                    {
                        ((PremagAxisVM)DataContext).VariationDataUpMagnets.Add(vp);
                        ((PremagAxisVM)DataContext).VariationDataDownMagnets.Add(vp);
                    }
                    SortOfVariationDataUpMagnets(); SortOfVariationDataDownMagnets();
                }
                #endregion
                btnEditMD.Visibility = Visibility.Visible;
                //btnEditUp.Visibility = Visibility.Visible; btnEditDwn.Visibility = Visibility.Visible;
                break;

            case "btnEditMD":
                if (dtgrdMainParams.SelectedItem != null)
                {
                    PremagAxisMainDataModel selectedStringOfVar = ((PremagAxisVM)DataContext).VariationDataMainData.Where(
                        i => i.ID_slot == ((PremagAxisMainDataModel)dtgrdMainParams.SelectedItem).ID_slot).FirstOrDefault();
                    stringOfVar = (PremagAxisMainDataModel)selectedStringOfVar.Clone();
                    varParamsVM = new PremagAxisMDVM(stringOfVar);
                    view        = new AxisMDView {
                        DataContext = varParamsVM,
                        Owner       = this
                    };
                    view.ShowDialog();
                    if (!varParamsVM.IsOK)
                    {
                        return;
                    }
                    //modify the db
                    PremagAxisMainDataModel removeItem =
                        ((PremagAxisVM)DataContext).VariationDataMainData.Where(i => i.ID_slot == varParamsVM.Model.ID_slot).FirstOrDefault();
                    ((PremagAxisVM)DataContext).VariationDataMainData.Remove(removeItem);
                    ((PremagAxisVM)DataContext).VariationDataMainData.Add(varParamsVM.Model);
                    #region sorting
                    var sortshot = ((PremagAxisVM)DataContext).VariationDataMainData.OrderBy(i => i.ID_slot);
                    ObservableCollection <PremagAxisMainDataModel> snapshot = new ObservableCollection <PremagAxisMainDataModel>();
                    foreach (PremagAxisMainDataModel item in sortshot)
                    {
                        snapshot.Add(item);
                    }
                    ((PremagAxisVM)DataContext).VariationDataMainData.Clear();
                    foreach (PremagAxisMainDataModel item in snapshot)
                    {
                        ((PremagAxisVM)DataContext).VariationDataMainData.Add(item);
                    }
                    #endregion
                }
                break;

            case "btnDelMD":
                if (dtgrdMainParams.SelectedItem != null)
                {
                    int idSlot = ((PremagAxisMainDataModel)dtgrdMainParams.SelectedItem).ID_slot;
                    ((PremagAxisVM)DataContext).VariationDataMainData.Remove((PremagAxisMainDataModel)dtgrdMainParams.SelectedItem);
                    for (int i = 0; i < ((PremagAxisVM)DataContext).VariationDataUpMagnets.Count; i++)
                    {
                        if (((PremagAxisVM)DataContext).VariationDataUpMagnets[i].ID_slot == idSlot)
                        {
                            ((PremagAxisVM)DataContext).VariationDataUpMagnets.Remove(((PremagAxisVM)DataContext).VariationDataUpMagnets[i]);
                            ((PremagAxisVM)DataContext).VariationDataDownMagnets.Remove(((PremagAxisVM)DataContext).VariationDataDownMagnets[i]);
                        }
                    }
                }
                if (((PremagAxisVM)DataContext).VariationDataMainData.Count == 0)
                {
                    btnEditMD.Visibility = Visibility.Hidden;
                    btnEditUp.Visibility = Visibility.Hidden; btnEditDwn.Visibility = Visibility.Hidden;
                }
                break;
            }
        }
Example #2
0
 public PremagAxisMDVM(PremagAxisMainDataModel model) => Model = model;