public static string GetDivisonNames(DtoProject project, IntegrationBase integrationBase) { string result = ""; List <DtoDivision> divisionList = integrationBase.ApiCore.Projects.GetDivisions(project.Id); if (divisionList != null && divisionList.Count > 0) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < divisionList.Count; i++) { DtoDivision division = divisionList[i]; sb.Append(division.Name); if (sb.Length > 0 && i < divisionList.Count - 1) { sb.Append("\r\n"); } if (divisionList.Count > 6 && i == 5) { sb.Append("..."); break; } } result = sb.ToString(); } return(result); }
private static Dictionary <DbLayer, Dictionary <Type, List <DtObject> > > GetLayerTypeObjectsDictionary(IntegrationBase integrationBase) { DtoProject project = integrationBase.ApiCore.Projects.GetDtoProject(integrationBase.CurrentProject.Id); Dictionary <DbLayer, Dictionary <Type, List <DtObject> > > layerTypeObjectsDictionary = new Dictionary <DbLayer, Dictionary <Type, List <DtObject> > >(); List <DtoProjectDiscipline> disciplines = new List <DtoProjectDiscipline>(); try { if (project.Disciplines != null && project.Disciplines.FirstOrDefault() != null) { foreach (DtoProjectDiscipline discipline in project.Disciplines) { if (disciplines.FirstOrDefault(d => d.DisciplineId == discipline.DisciplineId) == null) { disciplines.Add(discipline); } } } List <DtoElementType> existingTypes = new List <DtoElementType>(); Dictionary <Type, List <DtObject> > typeObjectDict = new Dictionary <Type, List <DtObject> >(); layerTypeObjectsDictionary = new Dictionary <DbLayer, Dictionary <Type, List <DtObject> > >(); using (new TraceCodeTime("Load elements", "Import types")) { using (new TraceCodeTime("GetProjectElementTypes", "Import types")) { existingTypes = integrationBase.ApiCore.Projects.GetProjectElementTypes(integrationBase.CurrentProject.Id); } foreach (DtoElementType elementType in existingTypes) { Type type = DbObjectList.GetType(elementType.Type); DbLayer layer = DbLayerHandler.GetLayer(DbObjectList.Discpline(elementType.Id)); if (!layerTypeObjectsDictionary.ContainsKey(layer)) { layerTypeObjectsDictionary.Add(layer, new Dictionary <Type, List <DtObject> >()); } if (!layerTypeObjectsDictionary[layer].ContainsKey(type)) { layerTypeObjectsDictionary[layer].Add(type, new List <DtObject>()); } } } } catch (Exception) { } return(layerTypeObjectsDictionary); }
/// <summary> /// Load start properties. /// </summary> /// <param name="integrationBase"></param> /// <param name="parent"></param> public void LoadContent(IntegrationBase integrationBase, Window parent) { _integrationBase = integrationBase; _parentWindow = parent; if (_integrationBase.CurrentProject != null) { DtoProject project = _integrationBase.ApiCore.Projects.GetProject(_integrationBase.CurrentProject.Id); ProjectModels = ExtensionsClass.GetDivisonNames(project, _integrationBase); } Dictionary <DbLayer, Dictionary <Type, List <DtObject> > > layerTypeObjectsDictionary = ExtensionsClass.ReadLayerTypeObjectsDictionary(_integrationBase); List <Type> types = ExtensionsClass.GetTypes(layerTypeObjectsDictionary, parent); if (types.Count > 0) { SelectedItem = types[0]; HasObjects = true; } ObjectTypes = types; }