Beispiel #1
0
        /// <summary>
        /// Обновить из файла xml
        /// </summary>
        /// <param name="objSpace"></param>
        /// <param name="xmlPath"></param>
        /// <remarks>
        /// пример записи из XML
        /// <ROW fio="Баирова&#160;Л.В." dan_id="167" fam="Баирова" nam="Людмила" mid="Викторовна" date_born="26.08.1981" sex="ж" full_doctor_id="348" users_id="348" norma="30.12.1899&#160;0:15:00" stavka="1" inner_doctor_code="348" federal_code="348" sp_otdel_id="101" sp_spec_doctor_id="176" spec_doctor="Терапевты-1" sp_lpu_id="2301001" full_fio="348&#160;Баирова&#160;Л.В.&#160;(Терапевты-1)" full_name="348&#160;Баирова&#160;Л.В.&#160;(Терапевты-1)" spec_name="Баирова&#160;Л.В.&#160;(Терапевты-1)" expiration_date="23.02.2025" employee_type="0" dolg_name="Врач-терапевт&#160;участковый" otdel_fio="Баирова&#160;Л.В.&#160;(Теpапия&#160;1)" dolg_fio="Баирова&#160;Л.В.&#160;(Врач-терапевт&#160;участковый)" blist_dolg="ТЕРАПЕВТ" can_have_schedule="1"/>
        /// <ROW fio="Очирова&#160;М.Д." dan_id="78" fam="Очирова" nam="Мария" mid="Дунгаровна" date_born="06.12.1960" sex="ж" full_doctor_id="2650" users_id="2650" norma="30.12.1899" stavka="1" inner_doctor_code="2650" federal_code="null" sp_otdel_id="202" sp_spec_doctor_id="1313" spec_doctor="Педиатры&#160;2" sp_lpu_id="2301001" full_fio="2650&#160;Очирова&#160;М.Д.&#160;(Педиатры&#160;2)" full_name="Очирова&#160;М.Д.&#160;(Педиатры&#160;2)" spec_name="Очирова&#160;М.Д.&#160;(Педиатры&#160;2)" expiration_date="18.02.2045" employee_type="0" dolg_name="Врач-педиатр&#160;участковый" otdel_fio="Очирова&#160;М.Д.&#160;(Педиатрия&#160;2)" dolg_fio="Очирова&#160;М.Д.&#160;(Врач-педиатр&#160;участковый)" blist_dolg="ПЕДИАТР" can_have_schedule="1"/>
        /// </remarks>
        public static void UpdateDbFromXml(DevExpress.ExpressApp.IObjectSpace objSpace, string xmlPath)
        {
            XDocument    doc = XDocument.Load(xmlPath);
            const string elementsContainer     = "ROWDATA";
            const string elementNameStartsWith = "ROW";

            const string code_attr = "inner_doctor_code";


            foreach (var element in doc.Root.Element(elementsContainer).Elements())
            {
                if (element.Name.ToString().StartsWith(elementNameStartsWith) == false)
                {
                    continue;
                }

                Doctor obj = objSpace.FindObject <Doctor>(DevExpress.Data.Filtering.CriteriaOperator.Parse("InnerCode=?", element.Attribute(code_attr).Value));
                if (obj == null)
                {
                    obj = objSpace.CreateObject <Doctor>();

                    obj.FirstName  = element.Attribute("nam").Value;
                    obj.LastName   = element.Attribute("fam").Value;
                    obj.MiddleName = element.Attribute("mid").Value;
                    DateTime birthDate = DateTime.MinValue;
                    if (DateTime.TryParse(element.Attribute("date_born").Value, out birthDate))
                    {
                        obj.Birthdate = birthDate;
                    }

                    var innerCode = element.Attribute("inner_doctor_code");
                    obj.InnerCode = (innerCode == null || innerCode.Value == "null") ? null : (int?)int.Parse(innerCode.Value);

                    var federalCode = element.Attribute("federal_code");
                    obj.FederalCode = (federalCode == null || federalCode.Value == "null") ? null : federalCode.Value;

                    var otdelElement = element.Attribute("sp_otdel_id");
                    if (otdelElement != null && otdelElement.Value != "null")
                    {
                        obj.Otdelenie = objSpace.FindObject <Otdel>(DevExpress.Data.Filtering.CriteriaOperator.Parse("Id=?", otdelElement.Value));
                    }

                    var uchastok = objSpace.FindObject <Uchastok>(DevExpress.Data.Filtering.CriteriaOperator.Parse("DoctorId=?", obj.InnerCode));
                    obj.Uchastki.Add(uchastok);

                    /// в XML должность доктора почему-то храниться в аттрибуте sp_spec_doctor_id.
                    /// Можно спутать со специальностью.
                    var positionElement = element.Attribute("sp_spec_doctor_id");
                    if (positionElement != null && positionElement.Value != "null")
                    {
                        obj.Position = objSpace.FindObject <DoctorDolgnost>(DevExpress.Data.Filtering.CriteriaOperator.Parse("Code=?", positionElement.Value));
                    }
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Добавляет в базу классификаторы из файла XML
        /// </summary>
        /// <param name="updater">Пространство объектов ObjectSpace</param>
        /// <param name="xmlPath">Путь до файла классификатора</param>
        public static void UpdateDbFromXml(DevExpress.ExpressApp.IObjectSpace objSpace, string xmlPath)
        {
            XDocument doc = XDocument.Load(xmlPath);

            const string elementNameStartsWith = "rec";

            const string code_attr = "IDDT";
            const string name_attr = "DTNAME";

            const string rules_attr = "DTRULE";

            const string dateBeg_attr = "DATEBEG";
            const string dateEnd_attr = "DATEEND";

            foreach (var element in doc.Root.Elements())
            {
                if (element.Name.ToString().StartsWith(elementNameStartsWith) == false)
                {
                    continue;
                }

                VidDispanserizacii obj = objSpace.FindObject <VidDispanserizacii>(DevExpress.Data.Filtering.CriteriaOperator.Parse("Code=?", element.Attribute(code_attr).Value));
                if (obj == null)
                {
                    obj       = objSpace.CreateObject <VidDispanserizacii>();
                    obj.Code  = element.Attribute(code_attr).Value;
                    obj.Name  = element.Attribute(name_attr).Value;
                    obj.Rules = element.Attribute(rules_attr).Value;

                    obj.DateBeg = element.Attribute(dateBeg_attr).Value == "" ? null : (DateTime?)Convert.ToDateTime(element.Attribute(dateBeg_attr).Value);
                    obj.DateEnd = element.Attribute(dateEnd_attr).Value == "" ? null : (DateTime?)Convert.ToDateTime(element.Attribute(dateEnd_attr).Value);
                }
            }
        }
Beispiel #3
0
        /// <summary>
        /// Добавляет в базу классификаторы из файла XML
        /// </summary>
        /// <param name="updater">Пространство объектов ObjectSpace</param>
        /// <param name="xmlPath">Путь до файла классификатора</param>
        public static void UpdateDbFromXml(DevExpress.ExpressApp.IObjectSpace objSpace, string xmlPath)
        {
            XDocument    doc = XDocument.Load(xmlPath);
            const string elementsContainer     = "ROWDATA";
            const string elementNameStartsWith = "ROW";

            const string code_attr = "kateg_lgot_id";
            const string name_attr = "kateg_lgot";

            foreach (var element in doc.Root.Element(elementsContainer).Elements())
            {
                if (element.Name.ToString().StartsWith(elementNameStartsWith) == false)
                {
                    continue;
                }

                KategoriyaLgot obj = objSpace.FindObject <KategoriyaLgot>(DevExpress.Data.Filtering.CriteriaOperator.Parse("Code=?", element.Attribute(code_attr).Value));
                if (obj == null)
                {
                    obj      = objSpace.CreateObject <KategoriyaLgot>();
                    obj.Code = int.Parse(element.Attribute(code_attr).Value);
                    obj.Name = element.Attribute(name_attr).Value;
                }
            }
        }
Beispiel #4
0
        /// <summary>
        /// Добавляет в базу классификаторы из файла XML
        /// </summary>
        /// <param name="updater">Пространство объектов ObjectSpace</param>
        /// <param name="xmlPath">Путь до файла классификатора</param>
        public static void UpdateDbFromXml(DevExpress.ExpressApp.IObjectSpace objSpace, string xmlPath)
        {
            XDocument doc = XDocument.Load(xmlPath);

            const string elementNameStartsWith = "item";

            const string code_attr    = "Kod";
            const string name_attr    = "Opis";
            const string dopInfo_attr = "DopInfo";

            const string dateBeg_attr = "DATEBEG";
            const string dateEnd_attr = "DATEEND";

            foreach (var element in doc.Root.Elements())
            {
                if (element.Name.ToString().StartsWith(elementNameStartsWith) == false)
                {
                    continue;
                }

                F012 obj = objSpace.FindObject <F012>(DevExpress.Data.Filtering.CriteriaOperator.Parse("Code=?", element.Attribute(code_attr).Value));
                if (obj == null)
                {
                    obj      = objSpace.CreateObject <F012>();
                    obj.Code = int.Parse(element.Attribute(code_attr).Value);
                    obj.Name = element.Attribute(name_attr).Value;

                    obj.DopInfo = element.Attribute(dopInfo_attr).Value;

                    obj.DateBeg = element.Attribute(dateBeg_attr).Value == "" ? null : (DateTime?)Convert.ToDateTime(element.Attribute(dateBeg_attr).Value);
                    obj.DateEnd = element.Attribute(dateEnd_attr).Value == "" ? null : (DateTime?)Convert.ToDateTime(element.Attribute(dateEnd_attr).Value);
                }
            }
        }
Beispiel #5
0
        public static void UpdateDbFromXml(DevExpress.ExpressApp.IObjectSpace objSpace, string xmlPath)
        {
            XDocument    doc = XDocument.Load(xmlPath);
            const string elementNameStartsWith = "value";

            const string code_attr = "code";


            foreach (var element in doc.Root.Elements())
            {
                if (element.Name.ToString().StartsWith(elementNameStartsWith) == false)
                {
                    continue;
                }

                Country obj = objSpace.FindObject <Country>(DevExpress.Data.Filtering.CriteriaOperator.Parse("Code=?", element.Attribute(code_attr).Value));
                if (obj == null)
                {
                    obj = objSpace.CreateObject <Country>();

                    obj.Code      = int.Parse(element.Attribute("code").Value);
                    obj.CodeAlfa2 = element.Attribute("a2").Value;
                    obj.CodeAlfа3 = element.Attribute("a3").Value;

                    obj.ShortName = element.Attribute("short").Value;
                    obj.FullName  = element.Attribute("full").Value;
                }
            }
        }
Beispiel #6
0
        /// <summary>
        /// Добавляет в базу классификаторы из файла XML
        /// </summary>
        /// <param name="updater">Пространство объектов ObjectSpace</param>
        /// <param name="xmlPath">Путь до файла классификатора</param>
        public static void UpdateDbFromXml(DevExpress.ExpressApp.IObjectSpace objSpace, string xmlPath)
        {
            XDocument doc = XDocument.Load(xmlPath);

            const string elementNameStartsWith = "entry";

            const string id_attr   = "id";
            const string code_attr = "s_code";
            const string name_attr = "s_name";

            foreach (var element in doc.Descendants("entry"))
            {
                if (element.Name.ToString().StartsWith(elementNameStartsWith) == false)
                {
                    continue;
                }

                VidMedVmeshatelstva obj = objSpace.FindObject <VidMedVmeshatelstva>(DevExpress.Data.Filtering.CriteriaOperator.Parse("Id=?", element.Element(id_attr).Value));
                if (obj == null)
                {
                    obj      = objSpace.CreateObject <VidMedVmeshatelstva>();
                    obj.Id   = int.Parse(element.Element(id_attr).Value);
                    obj.Code = element.Element(code_attr).Value;
                    obj.Name = element.Element(name_attr).Value;
                }
            }
        }
        private static TerritorialUsluga FindParent(DevExpress.ExpressApp.IObjectSpace objSpace, string code)
        {
            TerritorialUsluga parent = null;

            // если ищем категорию услуги с длиной кода 6
            if (code.Length > 5)
            {
                parent = objSpace.FindObject <TerritorialUsluga>(CriteriaOperator.Parse("Code=?", code.Substring(0, 5)));
                if (parent != null)
                {
                    return(parent);
                }
            }

            // если не найден родитель в категории с кодами, длина которых = 5
            // или ищем категорию для подкатегории (длина 5)
            if (code.Length > 4)
            {
                parent = objSpace.FindObject <TerritorialUsluga>(CriteriaOperator.Parse("Code=?", code.Substring(0, 4)));
                if (parent != null)
                {
                    return(parent);
                }
            }

            // если не найден родитель в категории с кодами, длина которых = 4 или 5
            // или ищем категорию для подкатегории (длина 4 или 5)

            if (code.Length > 3)
            {
                parent = objSpace.FindObject <TerritorialUsluga>(CriteriaOperator.Parse("Code=?", code.Substring(0, 3)));
                if (parent != null)
                {
                    return(parent);
                }
            }

            // родитель не найден
            return(null);
        }
Beispiel #8
0
        /// <summary>
        /// Добавляет в базу классификаторы из файла XML
        /// </summary>
        /// <param name="updater">Пространство объектов ObjectSpace</param>
        /// <param name="xmlPath">Путь до файла классификатора</param>
        public static void UpdateDbFromXml(DevExpress.ExpressApp.IObjectSpace objSpace, string xmlPath)
        {
            XDocument doc = XDocument.Load(xmlPath);

            foreach (XElement el in doc.Root.Element("ROWDATA").Elements("ROW"))
            {
                string id  = el.Attribute("id").Value;
                Otdel  obj = objSpace.FindObject <Otdel>(DevExpress.Data.Filtering.CriteriaOperator.Parse("Id=?", id));
                if (obj == null)
                {
                    obj      = objSpace.CreateObject <Otdel>();
                    obj.Id   = el.Attribute("id").Value;
                    obj.Code = el.Attribute("code").Value;
                    obj.Name = el.Attribute("name").Value;
                }
            }
        }
Beispiel #9
0
        public static void UpdateDbFromXml(DevExpress.ExpressApp.IObjectSpace objSpace, string xmlPath)
        {
            XDocument doc = XDocument.Load(xmlPath);

            foreach (XElement el in doc.Root.Elements())
            {
                int  id  = Convert.ToInt32(el.Attribute("IDIDST").Value);
                F005 obj = objSpace.FindObject <F005>(DevExpress.Data.Filtering.CriteriaOperator.Parse("IDIDST=?", id));
                if (obj == null)
                {
                    obj         = objSpace.CreateObject <F005>();
                    obj.IDIDST  = Convert.ToInt32(el.Attribute("IDIDST").Value);
                    obj.DATEBEG = el.Attribute("DATEBEG").Value == "" ? null : (DateTime?)Convert.ToDateTime(el.Attribute("DATEBEG").Value);
                    obj.DATEEND = el.Attribute("DATEEND").Value == "" ? null : (DateTime?)Convert.ToDateTime(el.Attribute("DATEEND").Value);
                    obj.STNAME  = el.Attribute("STNAME").Value;
                }
            }
        }
Beispiel #10
0
        /// <summary>
        /// Добавляет в базу классификаторы из файла XML
        /// </summary>
        /// <param name="updater">Пространство объектов ObjectSpace</param>
        /// <param name="xmlPath">Путь до файла классификатора</param>
        public static void UpdateDbFromXml(DevExpress.ExpressApp.IObjectSpace objSpace, string xmlPath)
        {
            XDocument doc = XDocument.Load(xmlPath);

            foreach (XElement el in doc.Root.Elements())
            {
                //<Prep code="П0039603" mnn="~" Name="игла Микро-файн плюс №100 30G" form="~" producer="Becton Dick" country="ИРЛАНДИЯ" />
                string     code = el.Attribute("code").Value;
                Medicament obj  = objSpace.FindObject <Medicament>(DevExpress.Data.Filtering.CriteriaOperator.Parse("Code=?", code));
                if (obj == null)
                {
                    obj           = objSpace.CreateObject <Medicament>();
                    obj.Code      = el.Attribute("code").Value;
                    obj.Name      = el.Attribute("Name").Value;
                    obj.InterName = el.Attribute("mnn").Value;
                    obj.MedForm   = el.Attribute("form").Value;
                    obj.Producer  = el.Attribute("producer").Value;
                    obj.Country   = el.Attribute("country").Value;
                }
            }
        }
Beispiel #11
0
        /// <summary>
        /// Добавляет в базу классификаторы из файла XML
        /// </summary>
        /// <param name="updater">Пространство объектов ObjectSpace</param>
        /// <param name="xmlPath">Путь до файла классификатора</param>
        public static void UpdateDbFromXml(DevExpress.ExpressApp.IObjectSpace objSpace, string xmlPath)
        {
            XDocument doc = XDocument.Load(xmlPath);

            const string elementNameStartsWith = "rec";

            const string code_attr    = "Kod";
            const string name_attr    = "Naim";
            const string osn_attr     = "Osn";
            const string comment_attr = "Komment";
            const string idvid_attr   = "IDVID";
            const string kodPg_attr   = "KodPG";
            const string dateBeg_attr = "DATEBEG";
            const string dateEnd_attr = "DATEEND";

            foreach (var element in doc.Root.Elements())
            {
                if (element.Name.ToString().StartsWith(elementNameStartsWith) == false)
                {
                    continue;
                }

                F014 obj = objSpace.FindObject <F014>(DevExpress.Data.Filtering.CriteriaOperator.Parse("Code=?", element.Attribute(code_attr).Value));
                if (obj == null)
                {
                    obj      = objSpace.CreateObject <F014>();
                    obj.Code = int.Parse(element.Attribute(code_attr).Value);
                    obj.Name = element.Attribute(name_attr).Value;

                    obj.Osn     = element.Attribute(osn_attr).Value;
                    obj.Comment = element.Attribute(comment_attr).Value;
                    obj.IDVID   = element.Attribute(idvid_attr).Value;
                    obj.KodPG   = element.Attribute(kodPg_attr).Value;

                    obj.DateBeg = element.Attribute(dateBeg_attr).Value == "" ? null : (DateTime?)Convert.ToDateTime(element.Attribute(dateBeg_attr).Value);
                    obj.DateEnd = element.Attribute(dateEnd_attr).Value == "" ? null : (DateTime?)Convert.ToDateTime(element.Attribute(dateEnd_attr).Value);
                }
            }
        }
Beispiel #12
0
        /// <summary>
        /// Добавляет в базу классификаторы из файла XML
        /// </summary>
        /// <param name="updater">Пространство объектов ObjectSpace</param>
        /// <param name="xmlPath">Путь до файла классификатора</param>
        public static void UpdateDbFromXml(DevExpress.ExpressApp.IObjectSpace objSpace, string xmlPath)
        {
            XDocument doc = XDocument.Load(xmlPath);

            const string elementNameStartsWith = "ZAP";

            const string code_attr = "IDDoc";
            const string name_attr = "DocName";

            /*const string serial_attr = "DocSer";
             * const string number_attr = "DocNum";
             */
            const string dateBeg_attr = "DATEBEG";
            const string dateEnd_attr = "DATEEND";

            foreach (var element in doc.Root.Elements())
            {
                if (element.Name.ToString().StartsWith(elementNameStartsWith) == false)
                {
                    continue;
                }

                VidDocumenta obj = objSpace.FindObject <VidDocumenta>(DevExpress.Data.Filtering.CriteriaOperator.Parse("Code=?", element.Attribute(code_attr).Value));
                if (obj == null)
                {
                    obj      = objSpace.CreateObject <VidDocumenta>();
                    obj.Code = int.Parse(element.Attribute(code_attr).Value);
                    obj.Name = element.Attribute(name_attr).Value;

                    /*
                     * obj.DocumentSerial = element.Attribute(serial_attr).Value;
                     * obj.DocumentNumber = element.Attribute(number_attr).Value;
                     */

                    obj.DateBeg = element.Attribute(dateBeg_attr).Value == "" ? null : (DateTime?)Convert.ToDateTime(element.Attribute(dateBeg_attr).Value);
                    obj.DateEnd = element.Attribute(dateEnd_attr).Value == "" ? null : (DateTime?)Convert.ToDateTime(element.Attribute(dateEnd_attr).Value);
                }
            }
        }
Beispiel #13
0
        /// <summary>
        /// Добавляет в базу классификаторы из файла XML
        /// </summary>
        /// <param name="updater">Пространство объектов ObjectSpace</param>
        /// <param name="xmlPath">Путь до файла классификатора</param>
        public static void UpdateDbFromXml(DevExpress.ExpressApp.IObjectSpace objSpace, string xmlPath)
        {
            XDocument doc = XDocument.Load(xmlPath);

            const string elementNameStartsWith = "rec";

            const string code_attr = "IDRL";
            const string name_attr = "LICNAME";

            const string ierarh_attr = "IERARH";
            const string prim_attr   = "PRIM";

            const string dateBeg_attr = "DATEBEG";
            const string dateEnd_attr = "DATEEND";

            foreach (var element in doc.Root.Elements())
            {
                if (element.Name.ToString().StartsWith(elementNameStartsWith) == false)
                {
                    continue;
                }

                V003 obj = objSpace.FindObject <V003>(DevExpress.Data.Filtering.CriteriaOperator.Parse("Code=?", element.Attribute(code_attr).Value));
                if (obj == null)
                {
                    obj      = objSpace.CreateObject <V003>();
                    obj.Code = int.Parse(element.Attribute(code_attr).Value);
                    obj.Name = element.Attribute(name_attr).Value;

                    obj.Ierarh = (element.Attribute(ierarh_attr).Value == "") ? 0 : int.Parse(element.Attribute(ierarh_attr).Value);
                    obj.Prim   = int.Parse(element.Attribute(prim_attr).Value);

                    obj.DateBeg = element.Attribute(dateBeg_attr).Value == "" ? null : (DateTime?)Convert.ToDateTime(element.Attribute(dateBeg_attr).Value);
                    obj.DateEnd = element.Attribute(dateEnd_attr).Value == "" ? null : (DateTime?)Convert.ToDateTime(element.Attribute(dateEnd_attr).Value);
                }
            }
        }
Beispiel #14
0
        /// <summary>
        /// Добавляет в базу классификаторы из файла XML
        /// </summary>
        /// <param name="updater">Пространство объектов ObjectSpace</param>
        /// <param name="xmlPath">Путь до файла классификатора</param>
        public static void UpdateDbFromXml(DevExpress.ExpressApp.IObjectSpace objSpace, string xmlPath)
        {
            List <TerrUslTemp> list = TerritorialUsluga.GetListFromXML(xmlPath);

            /*
             * Длина кода услуги различается (есть 3, 4, 5 и 6-и значные коды)
             * Услуга с меньшим кодом является категорией других, 4х, 5-и значные - подкатегории
             */

            var cat3 = list.Where(t => t.Code.Length == 3);
            var cat4 = list.Where(t => t.Code.Length == 4);
            var cat5 = list.Where(t => t.Code.Length == 5);
            var cat6 = list.Where(t => t.Code.Length == 6);

            int createdCount = 0;

            foreach (var cat in cat3)
            {
                var terrUsl = objSpace.FindObject <TerritorialUsluga>(CriteriaOperator.Parse("Code=?", cat.Code));
                if (terrUsl == null)
                {
                    terrUsl = objSpace.CreateObject <TerritorialUsluga>();
                    terrUsl.CopyValueFrom(cat);
                    createdCount++;
                }
            }

            if (createdCount != 0)
            {
                objSpace.CommitChanges();
            }

            createdCount = 0;
            foreach (var cat in cat4)
            {
                var terrUsl = objSpace.FindObject <TerritorialUsluga>(CriteriaOperator.Parse("Code=?", cat.Code));
                if (terrUsl == null)
                {
                    terrUsl = objSpace.CreateObject <TerritorialUsluga>();
                    terrUsl.CopyValueFrom(cat);
                    createdCount++;

                    var parent = TerritorialUsluga.FindParent(objSpace, cat.Code);
                    if (parent != null)
                    {
                        terrUsl.parent = parent;
                        parent.children.Add(terrUsl);
                    }
                }
            }

            if (createdCount != 0)
            {
                objSpace.CommitChanges();
            }

            createdCount = 0;
            foreach (var cat in cat5)
            {
                var terrUsl = objSpace.FindObject <TerritorialUsluga>(CriteriaOperator.Parse("Code=?", cat.Code));
                if (terrUsl == null)
                {
                    terrUsl = objSpace.CreateObject <TerritorialUsluga>();
                    terrUsl.CopyValueFrom(cat);
                    createdCount++;

                    var parent = TerritorialUsluga.FindParent(objSpace, cat.Code);
                    if (parent != null)
                    {
                        terrUsl.parent = parent;
                        parent.children.Add(terrUsl);
                    }
                }
            }

            if (createdCount != 0)
            {
                objSpace.CommitChanges();
            }

            createdCount = 0;
            foreach (var cat in cat6)
            {
                var terrUsl = objSpace.FindObject <TerritorialUsluga>(CriteriaOperator.Parse("Code=?", cat.Code));
                if (terrUsl == null)
                {
                    terrUsl = objSpace.CreateObject <TerritorialUsluga>();
                    terrUsl.CopyValueFrom(cat);
                    createdCount++;

                    var parent = TerritorialUsluga.FindParent(objSpace, cat.Code);
                    if (parent != null)
                    {
                        terrUsl.parent = parent;
                        parent.children.Add(terrUsl);
                    }
                }
            }

            if (createdCount != 0)
            {
                objSpace.CommitChanges();
            }
        }