Ejemplo n.º 1
0
        private static F_nn_Elements_Modules addElemToModule(F_S_Elements elemEnt, F_R_Modules moduleEnt, Element elem)
        {
            var emEnt = new F_nn_Elements_Modules()
            {
                F_R_Modules  = moduleEnt,
                F_S_Elements = elemEnt,
                DIRECTION    = elem.Direction,
                LOCATION     = elem.LocationPoint
            };

            moduleEnt.F_nn_Elements_Modules.Add(emEnt);
            elem.DBObject = emEnt;
            return(emEnt);
        }
Ejemplo n.º 2
0
        private static F_S_Elements getElement(Element elem)
        {
            F_S_Elements elemEnt = findElementEnt(elem);

            // Если такого элемента с параметрами нет, то создание
            if (elemEnt == null)
            {
                // поиск семейство элемента
                var famInfoEnt = entities.F_S_FamilyInfos.Local.SingleOrDefault(f =>
                                                                                f.FAMILY_NAME.Equals(elem.FamilyName, StringComparison.OrdinalIgnoreCase) &&
                                                                                f.FAMILY_SYMBOL.Equals(elem.FamilySymbolName, StringComparison.OrdinalIgnoreCase));
                // если нет семейства, то создание
                if (famInfoEnt == null)
                {
                    famInfoEnt = entities.F_S_FamilyInfos.Add(new F_S_FamilyInfos()
                    {
                        FAMILY_NAME   = elem.FamilyName,
                        FAMILY_SYMBOL = elem.FamilySymbolName
                    });
                }

                // Создание элемента
                elemEnt = entities.F_S_Elements.Add(new F_S_Elements()
                {
                    // Категория элемента
                    F_S_Categories = entities.F_S_Categories.Local.SingleOrDefault(c =>
                                                                                   c.NAME_RUS_CATEGORY.Equals(elem.CategoryElement, StringComparison.OrdinalIgnoreCase)),
                    // Семейство
                    F_S_FamilyInfos = famInfoEnt
                });

                // Заполнение параметров элемента
                var paramsElemEnt = entities.F_nn_Category_Parameters.Local
                                    .Where(c => c.F_S_Categories.NAME_RUS_CATEGORY.Equals(elem.CategoryElement, StringComparison.OrdinalIgnoreCase))
                                    .Select(p => p).ToList();
                foreach (var paramElemEnt in paramsElemEnt)
                {
                    var elemParam        = elem.Parameters.Single(p => p.Name.Equals(paramElemEnt.F_S_Parameters.NAME_PARAMETER, StringComparison.OrdinalIgnoreCase));
                    var elemParaValueEnt = entities.F_nn_ElementParam_Value.Add(new F_nn_ElementParam_Value()
                    {
                        F_nn_Category_Parameters = paramElemEnt,
                        F_S_Elements             = elemEnt,
                        PARAMETER_VALUE          = elemParam.Value
                    });
                }
            }
            return(elemEnt);
        }
Ejemplo n.º 3
0
 private static F_nn_Elements_Modules addElemToModule(F_S_Elements elemEnt, F_R_Modules moduleEnt, Element elem)
 {
     var emEnt = new F_nn_Elements_Modules()
     {
         F_R_Modules = moduleEnt,
         F_S_Elements = elemEnt,
         DIRECTION = elem.Direction,
         LOCATION = elem.LocationPoint
     };
     moduleEnt.F_nn_Elements_Modules.Add(emEnt);
     elem.DBObject = emEnt;
     return emEnt;
 }