private bool CheckIsDescriptive(EntityListViewColumnsDTO item) { if (item.Column.ColumnType != Enum_ColumnType.String && item.Column.ColumnType != Enum_ColumnType.Numeric && item.Column.ColumnType != Enum_ColumnType.Date) { return(false); } var key = string.IsNullOrEmpty(item.Column.Alias) ? item.Column.Name : item.Column.Alias; if (string.IsNullOrEmpty(item.CreateRelationshipTailPath)) { if (item.Column.PrimaryKey) { return(true); } else { return(CheckColumnDetection(GetDescriptiveColumnNames(), key)); } } else { if (item.AllRelationshipsAreSubToSuper) { return(CheckColumnDetection(GetDescriptiveColumnNames(), key)); } } return(false); }
private void AddListViewColumn(List <EntityListViewColumnsDTO> list, ColumnDTO column, string relationshipPath = null, List <RelationshipDTO> relationships = null) { var resultColumn = new EntityListViewColumnsDTO(); resultColumn.ColumnID = column.ID; resultColumn.Column = column; resultColumn.CreateRelationshipTailPath = relationshipPath; resultColumn.AllRelationshipsAreSubToSuper = relationships != null && relationships.All(x => x.TypeEnum == Enum_RelationshipType.SubToSuper || x.TypeEnum == Enum_RelationshipType.SubUnionToUnion); string entityAlias = ""; if (relationships == null || relationships.Count == 0) { entityAlias = ""; } else if (resultColumn.AllRelationshipsAreSubToSuper) { entityAlias = ""; } else { var firstNotISAOrUnionEntity = GetLastNotISAOrUnionRelationship(relationships); if (firstNotISAOrUnionEntity != null) { entityAlias = firstNotISAOrUnionEntity.Entity2Alias + "."; } } resultColumn.Alias = entityAlias + column.Alias; list.Add(resultColumn); }
private EntityListViewDTO ToEntityListViewDTO(DR_Requester requester, EntityListView item, bool withDetails) { EntityListViewDTO result = new EntityListViewDTO(); result.TableDrivedEntityID = item.TableDrivedEntityID; result.ID = item.ID; result.Title = item.Title; if (withDetails) { BizColumn bizColumn = new MyModelManager.BizColumn(); foreach (var column in item.EntityListViewColumns) { EntityListViewColumnsDTO rColumn = new EntityListViewColumnsDTO(); rColumn.ID = column.ID; rColumn.ColumnID = column.ColumnID; rColumn.Column = bizColumn.ToColumnDTO(column.Column, true); rColumn.IsDescriptive = column.IsDescriptive; rColumn.Alias = column.Alias ?? rColumn.Column.Alias ?? rColumn.Column.Name; rColumn.OrderID = column.OrderID ?? 0; if (column.EntityRelationshipTailID != null) { rColumn.RelationshipTailID = column.EntityRelationshipTailID.Value; rColumn.RelationshipTail = bizEntityRelationshipTail.ToEntityRelationshipTailDTO(column.EntityRelationshipTail); } if (!string.IsNullOrEmpty(column.Tooltip)) { rColumn.Tooltip = column.Tooltip; } else { if (rColumn.RelationshipTail != null) { rColumn.Tooltip = rColumn.RelationshipTail.ReverseRelationshipTail.TargetEntityAlias + "." + rColumn.Column.Alias; } } rColumn.WidthUnit = column.WidthUnit ?? 0; //rColumn.RelativeColumnName = rColumn.Column.Name + rColumn.RelationshipTailID.ToString(); result.EntityListViewAllColumns.Add(rColumn); } //foreach (var tail in item.EntityListViewRelationshipTails) //{ // EntityListViewRelationshipTailDTO rTail = new EntityListViewRelationshipTailDTO(); // rTail.ID = tail.ID; // rTail.EntityRelationshipTailID = tail.EntityRelationshipTailID; // rTail.EntityRelationshipTail = bizEntityRelationshipTail.ToEntityRelationshipTailDTO(tail.EntityRelationshipTail); // foreach (var tailColumn in tail.EntityListViewColumns) // { // rTail.EntityListViewColumns.Add(result.EntityListViewAllColumns.First(x => x.ID == tailColumn.ID)); // } // result.EntityListViewRelationshipTails.Add(rTail); //} } ImposeSecurity(requester, result, item.TableDrivedEntity); return(result); }
private void SetColumns(EntityListViewColumnsDTO condition) { colColumns.DisplayMemberPath = "Name"; colColumns.SelectedValueMemberPath = "ID"; BizTableDrivedEntity biz = new BizTableDrivedEntity(); if (condition.RelationshipTailID == 0) { var entity = biz.GetTableDrivedEntity(MyProjectManager.GetMyProjectManager.GetRequester(), EntityID, EntityColumnInfoType.WithSimpleColumns, EntityRelationshipInfoType.WithoutRelationships); condition.vwValueColumns = entity.Columns;; } else { var relationshipTail = bizEntityRelationshipTail.GetEntityRelationshipTail(MyProjectManager.GetMyProjectManager.GetRequester(), condition.RelationshipTailID); var entity = biz.GetTableDrivedEntity(MyProjectManager.GetMyProjectManager.GetRequester(), relationshipTail.TargetEntityID, EntityColumnInfoType.WithSimpleColumns, EntityRelationshipInfoType.WithoutRelationships); condition.vwValueColumns = entity.Columns; } }
private EntityListViewDTO ToEntityKeysListView(TableDrivedEntityDTO entityDTO) { EntityListViewDTO result = new EntityListViewDTO(); result.TableDrivedEntityID = entityDTO.ID; result.ID = 0; result.Title = "ستونهای کلید"; foreach (var column in entityDTO.Columns.Where(x => x.PrimaryKey)) { EntityListViewColumnsDTO rColumn = new EntityListViewColumnsDTO(); rColumn.ID = 0; rColumn.ColumnID = column.ID; rColumn.Column = column; rColumn.Alias = column.Alias; rColumn.OrderID = (short)column.Position; result.EntityListViewAllColumns.Add(rColumn); } return(result); }
private EntityListViewDTO ToEntitySimpleListView(TableDrivedEntityDTO entityDTO) { EntityListViewDTO result = new EntityListViewDTO(); result.TableDrivedEntityID = entityDTO.ID; result.ID = 0; result.Title = "ستونهای ساخته شده"; foreach (var column in entityDTO.Columns) { EntityListViewColumnsDTO rColumn = new EntityListViewColumnsDTO(); rColumn.ID = 0; rColumn.ColumnID = column.ID; rColumn.Column = column; rColumn.Alias = column.Alias; rColumn.OrderID = (short)column.Position; result.EntityListViewAllColumns.Add(rColumn); } return(result); }