Example #1
0
        private void btnTableVarParams_Click(object sender, RoutedEventArgs e)
        {
            StringOfVarParametersAxis stringOfVar = null;
            StringOfVarParamsAxisVM   varParamsVM = null;
            StringOfVarParamsAxisView view        = null;

            switch (((Button)sender).Name)
            {
            case "btnAddUp":
                if (((PremagAxisVM)DataContext).VariationDataMainData.Count == 0)
                {
                    return;
                }

                //int max_idCulc = ((PremagAxisVM)DataContext).VariationDataUpMagnets.Count != 0 ?
                //    ((PremagAxisVM)DataContext).VariationDataUpMagnets.Select(i => i.ID_culc).Max() :
                //    0;
                int max_idCulc = 0;
                int max_idSlot = ((PremagAxisVM)DataContext).VariationDataMainData.Select(i => i.ID_slot).Max();
                //int max_idSlot = ((PremagAxisVM)DataContext).VariationDataUpMagnets.Count != 0 ?
                //    ((PremagAxisVM)DataContext).VariationDataUpMagnets.Select(i => i.ID_slot).Max() :
                //    ((PremagAxisVM)DataContext).VariationDataMainData.Select(i => i.ID_slot).Max();

                if (((PremagAxisVM)DataContext).VariationDataUpMagnets.Count != 0)
                {
                    max_idCulc = ((PremagAxisVM)DataContext).VariationDataUpMagnets.Select(i => i.ID_culc).Max();
                    max_idSlot = ((PremagAxisVM)DataContext).VariationDataUpMagnets.Select(i => i.ID_slot).Max();
                    //for all slots
                    for (int i = 0; i < max_idSlot; i++)
                    {
                        StringOfVarParametersAxis varParametersMaxid = ((PremagAxisVM)DataContext).VariationDataUpMagnets.FirstOrDefault(
                            i => i.ID_culc == max_idCulc && i.ID_slot == max_idSlot
                            );
                        stringOfVar         = (StringOfVarParametersAxis)varParametersMaxid.Clone();
                        stringOfVar.ID_culc = max_idCulc + 1; stringOfVar.ID_slot = i + 1;
                        //stringOfVar = new StringOfVarParametersAxis { ID_culc = max_idCulc + 1, ID_slot = i + 1 };
                        varParamsVM = new StringOfVarParamsAxisVM(stringOfVar);
                        view        = new StringOfVarParamsAxisView {
                            DataContext = varParamsVM, Owner = this
                        };
                        view.ShowDialog();
                        if (!varParamsVM.IsOK)
                        {
                            return;
                        }
                        ((PremagAxisVM)DataContext).VariationDataUpMagnets.Add(varParamsVM.Model);     //add to db
                        ((PremagAxisVM)DataContext).VariationDataDownMagnets.Add(varParamsVM.Model);
                    }
                }
                else
                {
                    //for all slots
                    for (int i = 0; i < max_idSlot; i++)
                    {
                        stringOfVar = new StringOfVarParametersAxis {
                            ID_culc = max_idCulc + 1, ID_slot = i + 1
                        };
                        varParamsVM = new StringOfVarParamsAxisVM(stringOfVar);
                        view        = new StringOfVarParamsAxisView {
                            DataContext = varParamsVM, Owner = this
                        };
                        view.ShowDialog();
                        if (!varParamsVM.IsOK)
                        {
                            return;
                        }
                        ((PremagAxisVM)DataContext).VariationDataUpMagnets.Add(varParamsVM.Model);     //add to db
                        ((PremagAxisVM)DataContext).VariationDataDownMagnets.Add(varParamsVM.Model);
                    }
                }
                btnEditUp.Visibility = Visibility.Visible; btnEditDwn.Visibility = Visibility.Visible;
                break;

            case "btnEditUp":
                if (dtgrdVarParamsUp.SelectedItem != null)
                {
                    StringOfVarParametersAxis selectedStringOfVar = ((PremagAxisVM)DataContext).VariationDataUpMagnets.Where(
                        i => i.ID_culc == ((StringOfVarParametersAxis)dtgrdVarParamsUp.SelectedItem).ID_culc &&
                        i.ID_slot == ((StringOfVarParametersAxis)dtgrdVarParamsUp.SelectedItem).ID_slot).FirstOrDefault();
                    stringOfVar = (StringOfVarParametersAxis)selectedStringOfVar.Clone();
                    varParamsVM = new StringOfVarParamsAxisVM(stringOfVar);
                    view        = new StringOfVarParamsAxisView {
                        DataContext = varParamsVM,
                        Owner       = this
                    };
                    view.ShowDialog();
                    if (!varParamsVM.IsOK)
                    {
                        return;
                    }
                    //modify the db
                    StringOfVarParametersAxis removeItem =
                        ((PremagAxisVM)DataContext).VariationDataUpMagnets.Where(
                            i => i.ID_culc == varParamsVM.Model.ID_culc && i.ID_slot == varParamsVM.Model.ID_slot).FirstOrDefault();
                    ((PremagAxisVM)DataContext).VariationDataUpMagnets.Remove(removeItem);
                    ((PremagAxisVM)DataContext).VariationDataUpMagnets.Add(varParamsVM.Model);
                    SortOfVariationDataUpMagnets();
                }
                break;

            case "btnEditDwn":
                if (dtgrdVarParamsDwn.SelectedItem != null)
                {
                    StringOfVarParametersAxis selectedStringOfVar = ((PremagAxisVM)DataContext).VariationDataDownMagnets.Where(
                        i => i.ID_culc == ((StringOfVarParametersAxis)dtgrdVarParamsDwn.SelectedItem).ID_culc &&
                        i.ID_slot == ((StringOfVarParametersAxis)dtgrdVarParamsDwn.SelectedItem).ID_slot).FirstOrDefault();
                    stringOfVar = (StringOfVarParametersAxis)selectedStringOfVar.Clone();
                    varParamsVM = new StringOfVarParamsAxisVM(stringOfVar);
                    view        = new StringOfVarParamsAxisView {
                        DataContext = varParamsVM,
                        Owner       = this
                    };
                    view.ShowDialog();
                    if (!varParamsVM.IsOK)
                    {
                        return;
                    }
                    //modify the db
                    StringOfVarParametersAxis removeItem =
                        ((PremagAxisVM)DataContext).VariationDataDownMagnets.Where(
                            i => i.ID_culc == varParamsVM.Model.ID_culc && i.ID_slot == varParamsVM.Model.ID_slot).FirstOrDefault();
                    ((PremagAxisVM)DataContext).VariationDataDownMagnets.Remove(removeItem);
                    ((PremagAxisVM)DataContext).VariationDataDownMagnets.Add(varParamsVM.Model);
                    #region sorting
                    SortOfVariationDataDownMagnets();
                    #endregion
                }

                break;

            case "btnDelUp":
                if (dtgrdVarParamsUp.SelectedItem != null)
                {
                    int idCulc = ((StringOfVarParametersAxis)dtgrdVarParamsUp.SelectedItem).ID_culc;
                    for (int i = 0; i < ((PremagAxisVM)DataContext).VariationDataUpMagnets.Count; i++)
                    {
                        if (((PremagAxisVM)DataContext).VariationDataUpMagnets[i].ID_culc == idCulc)
                        {
                            ((PremagAxisVM)DataContext).VariationDataUpMagnets.Remove(((PremagAxisVM)DataContext).VariationDataUpMagnets[i]);
                            ((PremagAxisVM)DataContext).VariationDataDownMagnets.Remove(((PremagAxisVM)DataContext).VariationDataDownMagnets[i]);
                            i--;
                        }
                    }
                }
                if (((PremagAxisVM)DataContext).VariationDataUpMagnets.Count == 0)
                {
                    btnEditUp.Visibility = Visibility.Hidden;
                }
                btnEditDwn.Visibility = Visibility.Hidden;
                break;
            }
        }
Example #2
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 #3
0
 public StringOfVarParamsAxisVM(StringOfVarParametersAxis model) => Model = model;