Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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;
            }
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }