public MessageWindow(MessageVewModel _CP)
 {
     InitializeComponent();
     cv = _CP;
     coincidencesBox.Text = cv.RevitModel.isMessage;
     DataContext          = _CP;
 }
        //Метод добавления общих параметров
        public bool AddParametersToFamily(List <MyParameter> pars, ObservableCollection <ElementId> setfamIds)
        {
            //Словарь о совпадениях параметров в семейтсвах
            foreach (ElementId familyId in setfamIds)
            {
                Element family = _document.GetElement(familyId);
                if (familyId == null)
                {
                    return(false);
                }
                if (family is FamilyInstance fi)
                {
                    var famDoc = _document.EditFamily(fi.Symbol.Family);
                    using (var tr = new Transaction(famDoc, "AddParameters"))
                    {
                        tr.Start();
                        foreach (var par in pars)
                        {
                            //Добавление параметра
                            try
                            {
                                BuiltInParameterGroup gr = BuiltInParameterGroup.PG_GENERAL;
                                #region SWITCH группирование
                                switch (par.def.Name)
                                {
                                case "ADSK_Позиция":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                case "ADSK_Наименование":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                case "ADSK_Наименование краткое":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                case "ADSK_Обозначение":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                case "ADSK_Марка":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                case "ADSK_Код изделия":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                case "ADSK_Завод-изготовитель":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                case "ADSK_Примечание":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                case "ADSK_Масса":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                case "ADSK_Масса_Текст":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                case "ADSK_Единица измерения":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                case "ADSK_Расход жидкости":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                case "ADSK_Группирование":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                case "ADSK_Номер секции":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                case "ADSK_Этаж":
                                    gr = BuiltInParameterGroup.PG_DATA;
                                    break;

                                ////////////////////////////////////////////
                                case "ADSK_Диаметр условный":
                                    gr = BuiltInParameterGroup.PG_GEOMETRY;
                                    break;

                                case "ADSK_Размер_Ширина":
                                    gr = BuiltInParameterGroup.PG_GEOMETRY;
                                    break;

                                case "ADSK_Размер_Высота":
                                    gr = BuiltInParameterGroup.PG_GEOMETRY;
                                    break;

                                case "ADSK_Размер_Глубина":
                                    gr = BuiltInParameterGroup.PG_GEOMETRY;
                                    break;

                                case "ADSK_Размер_Диаметр":
                                    gr = BuiltInParameterGroup.PG_GEOMETRY;
                                    break;

                                case "ADSK_Размер_ДиаметрИзделия":
                                    gr = BuiltInParameterGroup.PG_GEOMETRY;
                                    break;

                                case "ADSK_Размер_Радиус":
                                    gr = BuiltInParameterGroup.PG_GEOMETRY;
                                    break;

                                case "ADSK_Размер_Толщина":
                                    gr = BuiltInParameterGroup.PG_GEOMETRY;
                                    break;

                                case "ADSK_Размер_Толщина основы":
                                    gr = BuiltInParameterGroup.PG_GEOMETRY;
                                    break;

                                case "ADSK_Размер_Толщина полки":
                                    gr = BuiltInParameterGroup.PG_GEOMETRY;
                                    break;

                                case "ADSK_Размер_Толщина стенки":
                                    gr = BuiltInParameterGroup.PG_GEOMETRY;
                                    break;

                                case "ADSK_Размер_УголПоворота":
                                    gr = BuiltInParameterGroup.PG_GEOMETRY;
                                    break;

                                ////////////////////////////////////////////
                                case "ADSK_Классификация нагрузок":
                                    gr = BuiltInParameterGroup.PG_ELECTRICAL_LOADS;
                                    break;

                                case "ADSK_Количество фаз":
                                    gr = BuiltInParameterGroup.PG_ELECTRICAL_LOADS;
                                    break;

                                case "ADSK_Количество фаз числовое":
                                    gr = BuiltInParameterGroup.PG_ELECTRICAL_LOADS;
                                    break;

                                case "ADSK_Коэффициент мощности":
                                    gr = BuiltInParameterGroup.PG_ELECTRICAL_LOADS;
                                    break;

                                case "ADSK_Напряжение":
                                    gr = BuiltInParameterGroup.PG_ELECTRICAL_LOADS;
                                    break;

                                case "ADSK_Номинальная мощность":
                                    gr = BuiltInParameterGroup.PG_ELECTRICAL_LOADS;
                                    break;

                                case "ADSK_Полная мощность":
                                    gr = BuiltInParameterGroup.PG_ELECTRICAL_LOADS;
                                    break;

                                case "ADSK_Ток":
                                    gr = BuiltInParameterGroup.PG_ELECTRICAL_LOADS;
                                    break;

                                //////////////////////////////////////////////////
                                case "ADSK_Код лотка":
                                    gr = BuiltInParameterGroup.PG_TEXT;
                                    break;

                                //////////////////////////////////////////////////
                                case "ADSK_Расход воздуха":
                                    gr = BuiltInParameterGroup.PG_MECHANICAL_AIRFLOW;
                                    break;

                                case "ADSK_Свободный напор воздуха":
                                    gr = BuiltInParameterGroup.PG_MECHANICAL_AIRFLOW;
                                    break;
                                }
                                #endregion
                                famDoc.FamilyManager.AddParameter(par.def, gr, !par.IsCheckedType);
                            }
                            catch
                            {
                                //Сообщение о наличие параметра в таком семействе
                                isMessage += "Family \u0022" + fi.Symbol.FamilyName + "\u0022 already has parameter \u0022" + par.Name + "\u0022" + "\n";
                            }
                        }
                        tr.Commit();
                    }
                    //Загрузка семейства в проект
                    famDoc.LoadFamily(_document, new FamilyLoadOptions());
                    famDoc.Close(false);
                }
            }
            if (!String.IsNullOrEmpty(isMessage))
            {
                MessageVewModel MessVewModel = new MessageVewModel(this);
                MessageWindow   MessWindow   = new MessageWindow(MessVewModel);
                MessWindow.ShowDialog();
            }
            return(true);
        }