private void OpenHandler(object sender, object data)
        {
            try
            {
                if (Controller.CurrentViewModel.Controller.LegViewModel == this)
                {
                    LevelSelected = ((LegSectionViewModel)sender).StructureSource[0].Level;
                    CurrentPanelViewModel.TextSaveBTN          = "Добавить";
                    CurrentPanelViewModel.mode                 = "Add";
                    CurrentPanelViewModel.TextCancleOrResetBTN = "Вернуться";
                    ClosePanelCommand = new DelegateCommand(() =>
                    {
                        if (_lastSender.SelectedValue == null)
                        {
                            foreach (var structr in _lastSender.StructureSource)
                            {
                                if (structr.Text1 == "" && structr.Text2 == "")
                                {
                                    _lastSender.SelectedValue = structr;
                                }
                            }
                        }
                        else
                        {
                            if (_lastSender.ListNumber == 0)
                            {
                                MessageBus.Default.Call("SetAdditionalStructDefault", _lastSender.SelectedValue, null);
                            }
                            else
                            {
                                LegSections[_lastSender.ListNumber - 1].SelectedValue = _lastSender.SelectedValue;
                            }
                        }
                        CurrentPanelViewModel.PanelOpened = false;
                        handled = false;
                    });
                    if (!handled)
                    {
                        var curPanel    = ((LegPartViewModel)Controller.LegViewModel).CurrentPanelViewModel;
                        var currentPart = (LegSectionViewModel)sender;


                        _lastSender = currentPart;



                        _lastSenderType      = (Type)data;
                        handled              = true;
                        curPanel.PanelOpened = true;
                    }
                }
            }
            catch
            {
                CurrentPanelViewModel.PanelOpened = false;
                handled = false;
            }
        }
Example #2
0
        public LegSectionViewModel(NavigationController controller, LegSectionViewModel prevSection) : base(controller)
        {
            IsButtonsEnabled = false;
            //         ClickOnBorder = new DelegateCommand<object>(
            //    (sender) =>
            //    {
            //        ComboBox x = sender as ComboBox;
            //        x.MouseDoubleClick.I
            //        x.IsDropDownOpen = true;



            //    }
            //);

            ToRedactStruct = new DelegateCommand(() =>
            {
                // x.SelectedValue
                // LegSectionViewModel section = x.SelectedValue as LegSectionViewModel;
                //   MessageBus.Default.Call("OpenCustom", this, this.GetType());
                MessageBus.Default.Call("OpenStructRedact", this, this.GetType());
            }
                                                 );


            LostFocus = new DelegateCommand <object>(
                (sender) =>
            {
                if (string.IsNullOrWhiteSpace(((TextBox)sender).Text))
                {
                    ((TextBox)sender).Text = "0";
                }
            }
                ); ClickOnWeight = new DelegateCommand <object>(
                (sender) =>
            {
                if (((TextBox)sender).Text == "0")
                {
                    ((TextBox)sender).Text = "";
                }
            }
                );
            _previousSection = prevSection;
            if (prevSection != null)
            {
                prevSection.PropertyChanged += (e, args) =>
                {
                    if (prevSection.SelectedValue != null)
                    {
                        IsVisible = Visibility.Visible;
                    }
                    else
                    {
                        IsVisible = Visibility.Hidden;
                    };
                }
            }
            ;
            StructureSource = new ObservableCollection <LegPartDbStructure>();
            var t = StructureSource.GetEnumerator().GetType().GetGenericTypeDefinition();
        }
        private void OpenStructRedact(object sender, object data)
        {
            if (Controller.CurrentViewModel.Controller.LegViewModel == this)
            {
                //IsRedactVis = Visibility.Visible;
                //ISAddVis = Visibility.Collapsed;

                buff = SavePanelCommand;

                //var curPanel = ((LegPartViewModel)Controller.LegViewModel).CurrentPanelViewModel;
                var currentPart = (LegSectionViewModel)sender;


                LegPartDbStructure structure = currentPart.SelectedValue;
                LevelSelected = structure.Level;
                CurrentPanelViewModel.LegPrt      = structure;
                CurrentPanelViewModel.SavedLegPrt = structure;
                CurrentPanelViewModel.mode        = "Edit";
                LegPrt         = structure;
                CurrentLegSide = CurrentLegSide;



                _lastSender = currentPart;



                _lastSenderType = (Type)data;

                CurrentPanelViewModel.PanelOpened = true;

                if (structure.Text1 != null)
                {
                    CurrentPanelViewModel.Text1 = structure.Text1;
                }
                if (structure.Text2 != null)
                {
                    CurrentPanelViewModel.Text2 = structure.Text2;
                }
                if (structure.HasSize)
                {
                    CurrentPanelViewModel.HasSize = true;
                    foreach (Metrics x in CurrentPanelViewModel.Dimentions)
                    {
                        if (x.Str == structure.Metrics)
                        {
                            CurrentPanelViewModel.SelectedMetricText = x.Str;
                            CurrentPanelViewModel.SelectedMetric     = x;
                        }
                    }
                    if (structure.HasDoubleMetric)
                    {
                        CurrentPanelViewModel.HasDoubleSize = true;
                    }
                }
                CurrentPanelViewModel.TextSaveBTN          = "Вернуться";
                CurrentPanelViewModel.TextCancleOrResetBTN = "Сбросить";



                ClosePanelCommand = new DelegateCommand(() =>
                {
                    if (structure.Text1 != null)
                    {
                        CurrentPanelViewModel.Text1 = structure.Text1;
                    }
                    else
                    {
                        CurrentPanelViewModel.Text1 = "";
                    }
                    if (structure.Text2 != null)
                    {
                        CurrentPanelViewModel.Text2 = structure.Text2;
                    }
                    else
                    {
                        CurrentPanelViewModel.Text2 = "";
                    }
                    if (structure.HasSize)
                    {
                        CurrentPanelViewModel.HasSize = true;
                        foreach (Metrics x in CurrentPanelViewModel.Dimentions)
                        {
                            if (x.Str == structure.Metrics)
                            {
                                CurrentPanelViewModel.SelectedMetricText = x.Str;
                                CurrentPanelViewModel.SelectedMetric     = x;
                            }
                        }
                        if (structure.HasDoubleMetric)
                        {
                            CurrentPanelViewModel.HasDoubleSize = true;
                        }
                    }
                    else
                    {
                        CurrentPanelViewModel.SelectedMetricText = "";

                        CurrentPanelViewModel.HasDoubleSize = false;
                        CurrentPanelViewModel.HasSize       = false;
                    }
                    CurrentPanelViewModel.TextSaveBTN = "Вернуться";
                });
            }
        }