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); }
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); }
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; }