public void ClearCellArea(PVMCell cell)
        {
            var findPlace  = BaseDrawElements.ToList().FindAll(x => (x is VMRUVNPlace));
            var allMyPlace = findPlace.FindAll(x => (x as VMRUVNPlace).idmyCell == cell.idCell);

            foreach (var vari in allMyPlace)
            {
                (vari as VMRUVNPlace).Visibility = Visibility.Visible;
                _placeforHide = vari as VMRUVNPlace;
            }
            cell.Delete();
        }
        public void MinimizeAreaSize()
        {
            var maxWidth  = 0;
            var maxHeight = 0;
            var width     = 0;
            var height    = 0;
            int rr        = BaseDrawElements.Max(x => (int)x.X);

            foreach (var control in _controlsCollection)
            {
                if (maxWidth < width)
                {
                    maxWidth = width;
                }
                if (maxHeight < height)
                {
                    maxHeight = height;
                }
            }

            AreaWidth  = maxWidth;
            AreaHeight = maxHeight;
            StageSave();
        }
        public void CellAreaContextMenu(PVMCell cell)
        {
            if (!(_selectedBlock is CellAreaBlock))
            {
                return;
            }

            var contextMenu = new ContextMenu();

            var showObjectInfoMenu = new MenuItem {
                Header = "Просмотреть информацию об объекте"
            };

            var showUserInfoMenu = new MenuItem {
                Header = "Просмотреть информацию о пользователях"
            };

            var showFillDateMenu = new MenuItem {
                Header = "Просмотреть дату заполнения"
            };

            var startMasterMenu = new MenuItem();
            var loadFileMenu    = new MenuItem();
            var unloadFileMenu  = new MenuItem();

            if (((CellAreaBlock)_selectedBlock).CellAreaData.AreaType == AreaType.HighVoltage)
            {
                if (_iCommonData.RUVN_GetCommonData().ProductType == ProductType.Untyped)
                {
                    startMasterMenu.Header = $"Редактировать макет";
                    var           findPlace  = BaseDrawElements.ToList().FindAll(x => (x is VMRUVNPlace));
                    BaseDrawClass allMyPlace = findPlace.Find(x => (x as VMRUVNPlace).idmyCell == cell.idCell); //ТОЛЬКО ОДНОРЯДКИ!!!!!!!!!!!!!
                    _placeforHide          = allMyPlace as VMRUVNPlace;
                    startMasterMenu.Click += delegate { EditMaket(_iCommonData.RUVN_GetCommonData(), cell, (int)allMyPlace.Width, (int)allMyPlace.Height); };
                    loadFileMenu.Header    = "Сменить на конфигурацию";
                    loadFileMenu.Click    += delegate
                    {
                        if (!FileLoad(Handler.RUVN, null))
                        {
                            return;
                        }
                        ClearCellArea(cell);
                        MainDataParsing(_iCommonData.RUVN_GetCommonData(), AreaType.HighVoltage);
                    };
                }
                else
                {
                    loadFileMenu.Header = "Сменить конфигурацию";
                    loadFileMenu.Click += delegate
                    {
                        if (!FileLoad(Handler.RUVN, null))
                        {
                            return;
                        }
                        ClearCellArea(cell);
                        MainDataParsing(_iCommonData.RUVN_GetCommonData(), AreaType.HighVoltage);
                    };
                    showObjectInfoMenu.Click += delegate
                    {
                        Wrapper.ShowNotify($"Запрос: { _iCommonData.RUVN_GetCommonData().ObjectRequest }" +
                                           $"\nНаименование: { _iCommonData.RUVN_GetCommonData().ObjectTitle }" +
                                           $"\nОбъект: { _iCommonData.RUVN_GetCommonData().ObjectInfo }", Constants.AppName);
                    };
                    showUserInfoMenu.Click += delegate
                    {
                        Wrapper.ShowNotify($"Разработал: { _iCommonData.RUVN_GetCommonData().Developer }" +
                                           $"\nУтвердил: { _iCommonData.RUVN_GetCommonData().Approver }", Constants.AppName);
                    };
                    showFillDateMenu.Click += delegate
                    {
                        Wrapper.ShowNotify($"Дата заполнения: { _iCommonData.RUVN_GetCommonData().FillDate }", Constants.AppName);
                    };
                    startMasterMenu.Header = $"Редактировать в {Constants.RUVN_AppName}";
                    startMasterMenu.Click += delegate
                    {
                        StartMaster(Handler.RUVN, AreaType.HighVoltage,
                                    (int)_iCommonData.RUVN_GetCommonData().ProductType,
                                    _iCommonData.RUVN_GetCommonData().FilePath, cell);
                    };
                }

                unloadFileMenu.Header = "Выгрузить конфигурацию";
                unloadFileMenu.Click += delegate { MyBMZ.schemeRUVN = "";  _iCommonData.RUVN_SetCommonData(null); ClearCellArea(cell); ReDrawSubstation(); };
                if (_iCommonData.RUVN_GetCommonData().ProductType != ProductType.Untyped)
                {
                    contextMenu.Items.Add(showObjectInfoMenu);
                    contextMenu.Items.Add(showUserInfoMenu);
                    contextMenu.Items.Add(showFillDateMenu);
                    contextMenu.Items.Add(new Separator());
                }
            }

            if (((CellAreaBlock)_selectedBlock).CellAreaData.AreaType == AreaType.LowVoltage)
            {
                showObjectInfoMenu.Click += delegate
                {
                    Wrapper.ShowNotify($"Запрос: {_iCommonData.RUNN_GetCommonData().ObjectRequest}" +
                                       $"\nНаименование: {_iCommonData.RUNN_GetCommonData().ObjectTitle}" +
                                       $"\nОбъект: {_iCommonData.RUNN_GetCommonData().ObjectInfo}", Constants.AppName);
                };

                showUserInfoMenu.Click += delegate
                {
                    Wrapper.ShowNotify($"Разработал: {_iCommonData.RUNN_GetCommonData().Developer}" +
                                       $"\nУтвердил: {_iCommonData.RUNN_GetCommonData().Approver}", Constants.AppName);
                };

                showFillDateMenu.Click += delegate
                {
                    Wrapper.ShowNotify($"Дата заполнения: {_iCommonData.RUNN_GetCommonData().FillDate}",
                                       Constants.AppName);
                };
                if (_iCommonData.RUNN_GetCommonData().ProductType == ProductType.Untyped)
                {
                    startMasterMenu.Header = $"Редактировать макет";

                    var findPlace  = BaseDrawElements.ToList().FindAll(x => (x is VMRUVNPlace));
                    var allMyPlace = findPlace.Find(x => (x as VMRUVNPlace).idmyCell == cell.idCell); //ТОЛЬКО ОДНОРЯДКИ!!!!!!!!!!!!!
                    startMasterMenu.Click += delegate { EditMaket(_iCommonData.RUNN_GetCommonData(), cell, (int)allMyPlace.Width, (int)allMyPlace.Height); };
                    loadFileMenu.Header    = "Сменить на конфигурацию";
                    loadFileMenu.Click    += delegate
                    {
                        FileLoad(Handler.RUNN, null);
                        ClearCellArea(cell);
                        MainDataParsing(_iCommonData.RUNN_GetCommonData(), AreaType.LowVoltage);
                    };
                }
                else
                {
                    loadFileMenu.Header = "Сменить конфигурацию";
                    loadFileMenu.Click += delegate
                    {
                        FileLoad(Handler.RUNN, null);
                        ClearCellArea(cell);
                        MainDataParsing(_iCommonData.RUNN_GetCommonData(), AreaType.LowVoltage);
                    };
                    startMasterMenu.Header = $"Редактировать в {Constants.RUNN_AppName}";
                    startMasterMenu.Click += delegate
                    {
                        StartMaster(Handler.RUNN, AreaType.LowVoltage,
                                    (int)_iCommonData.RUNN_GetCommonData().ProductType,
                                    _iCommonData.RUNN_GetCommonData().FilePath, cell);
                    };
                }



                unloadFileMenu.Header = "Выгрузить конфигурацию";

                unloadFileMenu.Click += delegate
                {
                    MyBMZ.schemeRUNN = "";
                    _iCommonData.RUNN_SetCommonData(null);
                    ClearCellArea(cell);
                    ReDrawSubstation();
                };


                if (_iCommonData.RUNN_GetCommonData().ProductType != ProductType.Untyped)
                {
                    contextMenu.Items.Add(showObjectInfoMenu);
                    contextMenu.Items.Add(showUserInfoMenu);
                    contextMenu.Items.Add(showFillDateMenu);
                    contextMenu.Items.Add(new Separator());
                }
            }

            contextMenu.Items.Add(startMasterMenu);
            contextMenu.Items.Add(loadFileMenu);
            contextMenu.Items.Add(unloadFileMenu);
            contextMenu.IsOpen = true;
        }
        public void AddCellArea(CellAreaData CellAreaBlock)
        {
            var listPlace = BaseDrawElements.ToList().FindAll(x => x is VMRUVNPlace);
            var allPlace  = listPlace.FindAll(x => (x as VMRUVNPlace).namePlaceFrame.ToLower().Substring(0, (x as VMRUVNPlace).namePlaceFrame.IndexOf("|")) == _placeforHide.namePlaceFrame.ToLower().Substring(0, _placeforHide.namePlaceFrame.IndexOf("|")));
            int widthCell = 0;
            int shk       = 0;

            if (CellAreaBlock.RowDataList.Count > 1)
            {
                shk = CellAreaBlock.RowDataList[1].Y - (CellAreaBlock.RowDataList[0].Y +
                                                        CellAreaBlock.CellDataList.Find(x =>
                                                                                        x.Depth == CellAreaBlock.CellDataList.Max(y => y.Depth) && x._rowNum == 2).Depth / Constants.MainScale);
                shk *= Constants.MainScale;
            }
            foreach (var vari in CellAreaBlock.CellDataList)
            {
                widthCell += vari.Width;
            }
            if (CellAreaBlock.RowDataList.Count < allPlace.Count)
            {
                IToastNotifications.ShowError(
                    "Вы загружаете однорядную конфигурацию в компоновку с двурядным расположением оборудования!");
                return;
            }
            if (CellAreaBlock.RowDataList.Count > allPlace.Count)
            {
                IToastNotifications.ShowError(
                    "Вы загружаете двурядную конфигурацию в компоновку с однорядным расположением оборудования!");
                return;
            }

            //if (shk > 0)
            //{
            //    if (shk < MyBMZ.InformationForBuild.Shkn)
            //    {
            //            IToastNotifications.ShowError(
            //                "Ширина корридора в конфигурации меньше ширины корридора в компоновке");
            //            return;
            //    }
            //}

            double widthPlace = 0;

            foreach (var vari in allPlace)
            {
                widthPlace += vari.Width;
            }
            if (CellAreaBlock.AreaType == AreaType.HighVoltage)
            {
                if (_placeforHide.RoomType == RoomType.HighVoltage)
                {
                    if ((widthCell > widthPlace * Constants.MainScale) || (CellAreaBlock.CellDataList[0].Depth > _placeforHide.Height * Constants.MainScale))
                    {
                        LoadDialog(widthCell, CellAreaBlock.CellDataList[0].Depth);
                        return;
                    }
                    else
                    {
                        var place    = allPlace.Find(x => x.Y == allPlace.Min(z => z.Y));
                        int allWidth = 0;
                        foreach (var vari in CellAreaBlock.RowDataList)
                        {
                            allWidth += vari.Width;
                        }
                        if (allWidth == place.Width)
                        {
                            CellAreaBlock.X = (int)place.X;
                        }
                        else
                        {
                            if (_placeforHide.Rotation == Rotation.D0)
                            {
                                CellAreaBlock.X = (int)place.X + ((int)place.Width - allWidth) / 2;
                            }
                            else
                            {
                                CellAreaBlock.X = (int)place.X;
                            }
                        }
                        if (CellAreaBlock.RowDataList[0].Height == place.Height)
                        {
                            CellAreaBlock.Y = (int)place.Y;
                        }
                        else
                        {
                            CellAreaBlock.Y = (int)place.Y + ((int)place.Height - CellAreaBlock.RowDataList[0].Height) / 2;
                        }
                        Rotation rotata     = Rotation.D0;
                        Rotation rotataText = Rotation.D0;
                        if (_placeforHide.FacadePlace != Facade.NA)
                        {
                            if (_placeforHide.FacadePlace != CellAreaBlock.CellDataList[0].Facade)
                            {
                                rotata     = Rotation.D180;
                                rotataText = Rotation.D180;
                            }
                        }

                        if (_placeforHide.Rotation == Rotation.D90 || _placeforHide.Rotation == Rotation.D270)
                        {
                            rotata     = Rotation.D90;
                            rotataText = Rotation.D270;
                        }

                        if (allPlace.Count > 1)
                        {
                            if ((allPlace[0].X != allPlace[1].X) && ((allPlace[0].Y != allPlace[1].Y)))
                            {
                                ;//TODO
                            }
                        }

                        var aCell = new PVMCell(this, CellAreaBlock, CellAreaBlock.X, CellAreaBlock.Y, rotata, rotataText, AreaType.HighVoltage, widthCell);
                        BaseDrawElements.Add(aCell);
                        foreach (var vari in allPlace)
                        {
                            (vari as VMRUVNPlace).Visibility = Visibility.Collapsed;
                            (vari as VMRUVNPlace).idmyCell   = aCell.idCell;
                        }
                        Canvas.SetZIndex((CellAreaBlock)DrawningFraemworkElements.Last(), 1000);
                        IToastNotifications.ShowSuccess("Конфигурация РУВН успешно загружена");
                    }
                }
            }

            if (CellAreaBlock.AreaType == AreaType.LowVoltage)
            {
                if (_placeforHide.RoomType == RoomType.LowVoltage)
                {
                    if ((widthCell > widthPlace * Constants.MainScale) ||
                        (CellAreaBlock.CellDataList[0].Depth > _placeforHide.Height * Constants.MainScale))
                    {
                        LoadDialog(widthCell, CellAreaBlock.CellDataList[0].Depth);
                        return;
                    }
                    else
                    {
                        var place    = allPlace.Find(x => x.Y == allPlace.Min(z => z.Y));
                        int allWidth = 0;
                        foreach (var vari in CellAreaBlock.RowDataList)
                        {
                            allWidth += vari.Width;
                        }
                        if (allWidth == place.Width)
                        {
                            CellAreaBlock.X = (int)place.X;
                        }
                        else
                        {
                            if (_placeforHide.Rotation == Rotation.D0)
                            {
                                CellAreaBlock.X = (int)place.X + ((int)place.Width - allWidth) / 2;
                            }
                            else
                            {
                                CellAreaBlock.X = (int)place.X;
                            }
                        }
                        if (CellAreaBlock.RowDataList[0].Height == place.Height)
                        {
                            CellAreaBlock.Y = (int)place.Y;
                        }
                        else
                        {
                            CellAreaBlock.Y = (int)place.Y + ((int)place.Height - CellAreaBlock.RowDataList[0].Height) / 2;
                        }

                        Rotation rotata     = Rotation.D0;
                        Rotation rotataText = Rotation.D0;
                        if (_placeforHide.FacadePlace != Facade.NA)
                        {
                            if (_placeforHide.FacadePlace != CellAreaBlock.CellDataList[0].Facade)
                            {
                                rotata = Rotation.D180;
                                //rotataText = Rotation.D180;
                            }
                        }

                        if (_placeforHide.Rotation == Rotation.D90 || _placeforHide.Rotation == Rotation.D270)
                        {
                            rotata = Rotation.D90;
                            //rotataText = Rotation.D270;
                        }

                        var aCell = new PVMCell(this, CellAreaBlock, CellAreaBlock.X, CellAreaBlock.Y, rotata, rotataText, AreaType.LowVoltage, widthCell);

                        BaseDrawElements.Add(aCell);
                        foreach (var pl in allPlace)
                        {
                            (pl as VMRUVNPlace).Visibility = Visibility.Collapsed;
                            (pl as VMRUVNPlace).idmyCell   = aCell.idCell;
                        }

                        Canvas.SetZIndex((CellAreaBlock)DrawningFraemworkElements.Last(), 1000);
                        IToastNotifications.ShowSuccess("Конфигурация РУНН успешно загружена");
                        //var lst = MyBMZ.CollectFrame.ToList();
                        //var ss = lst.Find(x => x.position.ToLower() == placeforHide.namePlaceFrame.ToLower().Substring(0, placeforHide.namePlaceFrame.IndexOf("|")).Trim());
                        //if (MyBMZ.elementFloor == null)
                        //    MyBMZ.elementFloor = new SortedList<string, List<int>>();
                        //if (MyBMZ.elementFloor.ContainsKey(ss.position))
                        //    MyBMZ.elementFloor.Remove(ss.position);
                        //MyBMZ.elementFloor.Add(ss.position, (ListElem.FindLast(x => x is pVMCell) as pVMCell).elementFloor);

                        //DataClass dc = new DataClass("KontinentDBEntity.db");
                        //var frameIndex = MyBMZ.CollectFrame.ToList().FindIndex(x => x.position == ss.position);
                        //var bmzArray = MyBMZ.CollectFrame.ToArray();
                        //DataTable dt = dc.SelectQuery($"select nameCarc from _carcas where countElementFloor = {(ListElem.FindLast(x => x is pVMCell) as pVMCell).elementFloor.Count} AND countTrans = {bmzArray[frameIndex].countTrans}");
                        //var ss2 = dt.AsEnumerable().ToList();
                        //if (ss2.Count == 0)
                        //    IToastNotifications.ShowError("Подходящий каркас не найден");
                        //else
                        //{
                        //    bmzArray[frameIndex].nameCarcas = ss2[0][0].ToString();
                        //    MyBMZ.CollectFrame = new ObservableCollection<ClassCompositeBMZ.Frame>(bmzArray.ToList());
                        //}
                    }
                }
            }

            var lst = MyBMZ.CollectFrame.ToList();
            var ss  = lst.Find(x => x.position.ToLower() == _placeforHide.namePlaceFrame.ToLower().Substring(0, _placeforHide.namePlaceFrame.IndexOf("|")).Trim());

            if (MyBMZ.elementFloor == null)
            {
                MyBMZ.elementFloor = new SortedList <string, List <int> >();
            }
            if (MyBMZ.elementFloor.ContainsKey(ss.position))
            {
                MyBMZ.elementFloor.Remove(ss.position);
            }
            MyBMZ.elementFloor.Add(ss.position, (BaseDrawElements.ToList().FindLast(x => x is PVMCell) as PVMCell).elementFloor);

            DataClass dc         = new DataClass("KontinentDBEntity.db");
            var       frameIndex = MyBMZ.CollectFrame.ToList().FindIndex(x => x.position == ss.position);
            var       bmzArray   = MyBMZ.CollectFrame.ToArray();
            DataTable dt         = dc.SelectQuery($"select nameCarc from _carcas where countElementFloor = {(BaseDrawElements.ToList().FindLast(x => x is PVMCell) as PVMCell).elementFloor.Count} AND countTrans = {bmzArray[frameIndex].countTrans}");
            var       ss2        = dt.AsEnumerable().ToList();

            if (ss2.Count == 0)
            {
                IToastNotifications.ShowError("Подходящий каркас не найден");
            }
            else
            {
                bmzArray[frameIndex].nameCarcas = ss2[0][0].ToString();
                MyBMZ.CollectFrame = new ObservableCollection <ClassCompositeBMZ.Frame>(bmzArray.ToList());
            }
        }
        public void WorkspaceContextMenu(RoomType product, VMRUVNPlace ruPlace)
        {
            _placeforHide = ruPlace;
            var listPlace = BaseDrawElements.ToList().FindAll(x => x is VMRUVNPlace);
            var allPlace  = listPlace.FindAll(x => (x as VMRUVNPlace).namePlaceFrame.ToLower().Substring(0, (x as VMRUVNPlace).namePlaceFrame.IndexOf("|")) == _placeforHide.namePlaceFrame.ToLower().Substring(0, _placeforHide.namePlaceFrame.IndexOf("|")));

            if (allPlace.Count > 1)
            {
                if ((allPlace[0].X != allPlace[1].X) && (allPlace[0].Y != allPlace[1].Y))
                {
                    return;
                }
            }

            _roomType = product;
            if (_selectedBlock != null)
            {
                return;
            }

            var contextMenu = new ContextMenu();

            if (product == RoomType.HighVoltage)
            {
                var RUVN_FileLoadMenu = new MenuItem {
                    Header = "Загрузить конфигурацию РУВН"
                };
                RUVN_FileLoadMenu.Click += delegate
                {
                    if (!FileLoad(Handler.RUVN, null))
                    {
                        return;
                    }
                    MainDataParsing(_iCommonData.RUVN_GetCommonData(), AreaType.HighVoltage);
                };
                var RUVNCreateNull = new MenuItem {
                    Header = "Создать макет конфигурации РУВН"
                };
                RUVNCreateNull.Click += delegate
                {
                    SaveNullCells(AreaType.HighVoltage, allPlace);
                    //FileLoad(Handler.RUVN, null);
                    //MainDataParsing(_iCommonData.RUVN_GetCommonData(), AreaType.HighVoltage);
                };
                contextMenu.Items.Add(RUVN_FileLoadMenu);
                contextMenu.Items.Add(RUVNCreateNull);
                contextMenu.IsOpen = true;
            }

            if (product == RoomType.LowVoltage)
            {
                var RUNN_FileLoadMenu = new MenuItem {
                    Header = "Загрузить конфигурацию РУНН"
                };
                RUNN_FileLoadMenu.Click += delegate
                {
                    if (!FileLoad(Handler.RUNN, null))
                    {
                        return;
                    }
                    MainDataParsing(_iCommonData.RUNN_GetCommonData(), AreaType.LowVoltage);
                };

                var RUNNCreateNull = new MenuItem {
                    Header = "Создать макет конфигурации РУНН"
                };
                RUNNCreateNull.Click += delegate
                {
                    SaveNullCells(AreaType.LowVoltage, allPlace);
                };

                contextMenu.Items.Add(RUNN_FileLoadMenu);
                contextMenu.Items.Add(RUNNCreateNull);
                contextMenu.IsOpen = true;
            }
        }
        private void LoadDialog(double width, double depth)
        {
            var dw = new DialogWindow(
                "Загруженная конфигурация не подходит по размерам к шаблону. Попробуйте загрузить другую конфигурация или выбрать подходящий шаблон",
                "Неподходящий шаблон");

            if (dw.ShowDialog() != true)
            {
                switch (dw.GetSelection())
                {
                case Selection.None:
                    IToastNotifications.ShowError("Конфигурация не загружена");
                    break;
                }
            }


            switch (dw.GetSelection())
            {
            case Selection.LoadConfig:
                if (_roomType == RoomType.HighVoltage)
                {
                    FileLoad(Handler.RUVN, null);
                    MainDataParsing(_iCommonData.RUVN_GetCommonData(), AreaType.HighVoltage);
                }

                if (_roomType == RoomType.LowVoltage)
                {
                    FileLoad(Handler.RUNN, null);
                    MainDataParsing(_iCommonData.RUNN_GetCommonData(), AreaType.LowVoltage);
                }

                break;

            case Selection.ResizeComposite:
            {
                if (_roomType == RoomType.HighVoltage)
                {
                    List <ClassCompositeBMZ> lst = GetInformBMZ.GetList();
                    var listCell  = DrawningFraemworkElements.ToList().FindAll(x => x is CellAreaBlock);
                    var blockcell = listCell.Find(x =>
                                                  (x as CellAreaBlock)._cellAreaData.AreaType == AreaType.LowVoltage);
                    if (blockcell == null)
                    {
                        var lstf = lst.FindAll(x => (x.idBMZ == MyBMZ.idBMZ) &&
                                               (x.InformationForBuild.Gv1 == depth) &&
                                               (x.InformationForBuild.Dv1 + x.InformationForBuild.Dv2 > width));
                        if (lstf.Count != 0)
                        {
                            Mouse.OverrideCursor       = Cursors.Wait;
                            lstf[0].dOneSQuestParametr = GetInformBMZ.SelectBMZ().dOneSQuestParametr;
                            lstf[0].elementFloor       = MyBMZ.elementFloor;
                            lstf[0].schemeRUVN         = MyBMZ.schemeRUVN;
                            lstf[0].schemeRUNN         = MyBMZ.schemeRUNN;
                            GetInformBMZ.GetSelectBMZ(lstf[0]);
                            BuildBMZ(GetInformBMZ.SelectBMZ());
                            var listPlace       = BaseDrawElements.ToList().FindAll(x => x is VMRUVNPlace);
                            var placeforHidesht = listPlace.Find(x =>
                                                                 string.Equals((x as VMRUVNPlace).namePlaceFrame, _placeforHide.namePlaceFrame, System.StringComparison.OrdinalIgnoreCase));
                            _placeforHide = (VMRUVNPlace)placeforHidesht;
                            MainDataParsing(_iCommonData.RUVN_GetCommonData(), AreaType.HighVoltage);
                            Mouse.OverrideCursor = null;
                        }
                        else
                        {
                            DialogAfterNoFind();
                        }
                    }
                    else
                    {
                        var places = DrawningFraemworkElements.ToList().FindAll(x => x is CellAreaBlock);
                        var place  = places.Find(x =>
                                                 (x as CellAreaBlock)._cellAreaData.AreaType == AreaType.LowVoltage);
                        var goodLst   = BaseDrawElements.ToList().FindAll(x => x is PVMCell);
                        var goodCells = goodLst.Find(x => (x as PVMCell).type == AreaType.LowVoltage);



                        var lstf = lst.FindAll(x => (x.idBMZ == MyBMZ.idBMZ) &&
                                               (x.InformationForBuild.Gv1 == depth) &&
                                               (x.InformationForBuild.Dv1 + x.InformationForBuild.Dv2 > width) &&
                                               (x.InformationForBuild.Gn1 > (place as CellAreaBlock)._cellAreaData.Height) &&
                                               (x.InformationForBuild.Dn1 + x.InformationForBuild.Dn2 > (goodCells as PVMCell).WidthAllCell));
                        if (lstf.Count != 0)
                        {
                            Mouse.OverrideCursor       = Cursors.Wait;
                            lstf[0].dOneSQuestParametr = GetInformBMZ.SelectBMZ().dOneSQuestParametr;
                            lstf[0].schemeRUVN         = MyBMZ.schemeRUVN;
                            lstf[0].schemeRUNN         = MyBMZ.schemeRUNN;
                            GetInformBMZ.GetSelectBMZ(lstf[0]);
                            BuildBMZ(GetInformBMZ.SelectBMZ());
                            var listPlace       = BaseDrawElements.ToList().FindAll(x => x is VMRUVNPlace);
                            var placeforHidesht = listPlace.Find(x =>
                                                                 string.Equals((x as VMRUVNPlace).namePlaceFrame, _placeforHide.namePlaceFrame, System.StringComparison.OrdinalIgnoreCase));
                            _placeforHide = (VMRUVNPlace)placeforHidesht;
                            MainDataParsing(_iCommonData.RUVN_GetCommonData(), AreaType.HighVoltage);
                            Mouse.OverrideCursor = null;
                        }
                        else
                        {
                            DialogAfterNoFind();
                        }
                    }
                }

                if (_roomType == RoomType.LowVoltage)
                {
                    List <ClassCompositeBMZ> lst = GetInformBMZ.GetList();
                    var listCell  = DrawningFraemworkElements.ToList().FindAll(x => x is CellAreaBlock);
                    var blockcell = listCell.Find(x =>
                                                  (x as CellAreaBlock)._cellAreaData.AreaType == AreaType.HighVoltage);
                    if (blockcell == null)
                    {
                        var lstf = lst.FindAll(x => (x.idBMZ == MyBMZ.idBMZ) &&
                                               (x.InformationForBuild.Gn1 == depth) &&
                                               (x.InformationForBuild.Dn1 + x.InformationForBuild.Dn2 >
                                                width));
                        if (lstf.Count != 0)
                        {
                            Mouse.OverrideCursor       = Cursors.Wait;
                            lstf[0].dOneSQuestParametr = GetInformBMZ.SelectBMZ().dOneSQuestParametr;
                            lstf[0].schemeRUVN         = MyBMZ.schemeRUVN;
                            lstf[0].schemeRUNN         = MyBMZ.schemeRUNN;
                            lstf[0].elementFloor       = MyBMZ.elementFloor;
                            GetInformBMZ.GetSelectBMZ(lstf[0]);
                            BuildBMZ(GetInformBMZ.SelectBMZ());
                            var listPlace       = BaseDrawElements.ToList().FindAll(x => x is VMRUVNPlace);
                            var placeforHidesht = listPlace.Find(x =>
                                                                 string.Equals((x as VMRUVNPlace).namePlaceFrame, _placeforHide.namePlaceFrame, System.StringComparison.OrdinalIgnoreCase));
                            _placeforHide = (VMRUVNPlace)placeforHidesht;
                            MainDataParsing(_iCommonData.RUNN_GetCommonData(), AreaType.LowVoltage);
                            Mouse.OverrideCursor = null;
                        }
                        else
                        {
                            DialogAfterNoFind();
                        }
                    }
                    else
                    {
                        var places = DrawningFraemworkElements.ToList().FindAll(x => x is CellAreaBlock);
                        var place  = places.Find(x =>
                                                 (x as CellAreaBlock)._cellAreaData.AreaType == AreaType.HighVoltage);

                        var goodLst   = BaseDrawElements.ToList().FindAll(x => x is PVMCell);
                        var goodCells = goodLst.Find(x => (x as PVMCell).type == AreaType.HighVoltage);
                        var lstf      = lst.FindAll(x => (x.idBMZ == MyBMZ.idBMZ) &&
                                                    (x.InformationForBuild.Gn1 == depth) &&
                                                    (x.InformationForBuild.Dn1 + x.InformationForBuild.Dn2 >
                                                     width) &&
                                                    (x.InformationForBuild.Gv1 > (place as CellAreaBlock)._cellAreaData.Height) &&
                                                    (x.InformationForBuild.Dv1 + x.InformationForBuild.Dv2 > (goodCells as PVMCell).WidthAllCell));
                        if (lstf.Count != 0)
                        {
                            Mouse.OverrideCursor       = Cursors.Wait;
                            lstf[0].dOneSQuestParametr = GetInformBMZ.SelectBMZ().dOneSQuestParametr;
                            lstf[0].schemeRUVN         = MyBMZ.schemeRUVN;
                            lstf[0].schemeRUNN         = MyBMZ.schemeRUNN;
                            lstf[0].elementFloor       = MyBMZ.elementFloor;
                            GetInformBMZ.GetSelectBMZ(lstf[0]);
                            BuildBMZ(GetInformBMZ.SelectBMZ());
                            var listPlace       = BaseDrawElements.ToList().FindAll(x => x is VMRUVNPlace);
                            var placeforHidesht = listPlace.Find(x =>
                                                                 string.Equals((x as VMRUVNPlace).namePlaceFrame, _placeforHide.namePlaceFrame, System.StringComparison.OrdinalIgnoreCase));
                            _placeforHide = (VMRUVNPlace)placeforHidesht;
                            MainDataParsing(_iCommonData.RUNN_GetCommonData(), AreaType.LowVoltage);
                            Mouse.OverrideCursor = null;
                        }
                        else
                        {
                            DialogAfterNoFind();
                        }
                    }
                }
            }
            break;

            case Selection.RebuildConfig:

                if (_roomType == RoomType.HighVoltage)
                {
                    StartMaster(Handler.RUVN, AreaType.HighVoltage,
                                (int)_iCommonData.RUVN_GetCommonData().ProductType,
                                _iCommonData.RUVN_GetCommonData().FilePath);
                }
                if (_roomType == RoomType.LowVoltage)
                {
                    StartMaster(Handler.RUNN, AreaType.LowVoltage,
                                (int)_iCommonData.RUNN_GetCommonData().ProductType,
                                _iCommonData.RUNN_GetCommonData().FilePath);
                }
                return;

            case Selection.None:
                IToastNotifications.ShowError("Конфигурация не загружена");
                break;
            }
        }