//public List<EntityGroupRelationshipDTO> GetEntityGroupRelationships(int entityGroupID)
        //{
        //    List<EntityGroupRelationshipDTO> result = new List<EntityGroupRelationshipDTO>();
        //    using (var projectContext = new DataAccess.MyProjectEntities())
        //    {
        //        var list = projectContext.EntityGroup_Relationship.Where(x => x.EntityGroupID == entityGroupID);
        //        foreach (var ritem in list)
        //        {
        //            EntityGroupRelationshipDTO egr = ToEntityGroupRelationshipDTO(ritem);
        //            result.Add(egr);
        //        }
        //    }
        //    return result;
        //}
        private EntityGroupRelationshipDTO ToEntityGroupRelationshipDTO(EntityGroup_Relationship ritem, bool withDetails)
        {
            var egr = new EntityGroupRelationshipDTO();

            egr.ID = ritem.ID;
            egr.RelationshipTailID = ritem.EntityRelationshipTailID ?? 0;
            if (withDetails)
            {
                if (ritem.EntityRelationshipTail != null)
                {
                    BizEntityRelationshipTail bizEntityRelationshipTail = new MyModelManager.BizEntityRelationshipTail();
                    egr.RelationshipTail = bizEntityRelationshipTail.ToEntityRelationshipTailDTO(ritem.EntityRelationshipTail);
                    egr.vwName           = egr.RelationshipTail.TargetEntityAlias;
                }
                else
                {
                    egr.vwName = ritem.EntityGroup.Process.TableDrivedEntity.Alias;
                }
            }
            //if (ritem.EntityRelationshipTail != null)
            //    egr.Name = ritem.EntityRelationshipTail.RelationshipPath;
            //else
            //    egr.Name = "موجودیت اصلی";
            return(egr);
        }
Esempio n. 2
0
        private GraphDTO ToGraphDTO(GraphDefinition item, bool withDetails)
        {
            GraphDTO result = new GraphDTO();

            bizEntityReport.ToEntityReportDTO(item.EntityDataItemReport.EntityReport, result, withDetails);
            result.NotJointEntities    = item.NotJointEntities == true;
            result.FirstSideDataMenuID = item.FirstSideDataMenuID ?? 0;
            if (withDetails)
            {
                BizEntityRelationshipTail         bizEntityRelationshipTail         = new MyModelManager.BizEntityRelationshipTail();
                BizEntityRelationshipTailDataMenu bizEntityRelationshipTailListView = new MyModelManager.BizEntityRelationshipTailDataMenu();

                foreach (var dbRel in item.GraphDefinition_EntityRelationshipTail)
                {
                    var rel = new GraphRelationshipTailDTO();
                    rel.RelationshipTailID = dbRel.EntityRelationshipTailID;
                    rel.EntityRelationshipTailDataMenuID = dbRel.EntityRelationshipTailDataMenuID ?? 0;
                    if (rel.EntityRelationshipTailDataMenuID != 0)
                    {
                        rel.EntityRelationshipTailDataMenu = bizEntityRelationshipTailListView.ToEntityRelationshipTailDataMenuDTO(dbRel.EntityRelationshipTailDataMenu, true);
                    }
                    rel.ID = dbRel.ID;
                    rel.RelationshipTail = bizEntityRelationshipTail.ToEntityRelationshipTailDTO(dbRel.EntityRelationshipTail);
                    result.RelationshipsTails.Add(rel);
                }
            }



            return(result);
        }
Esempio n. 3
0
        public EntityCrosstabReportDTO ToEntityCrosstabReportDTO(DR_Requester requester, EntityCrosstabReport item, bool withDetails)
        {
            EntityCrosstabReportDTO result = new EntityCrosstabReportDTO();

            result.ID = item.ID;
            bizEntitySearchableReport.ToEntitySearchableReportDTO(item.EntitySearchableReport, result, withDetails);
            result.EntityListViewID = item.EntityListViewID;
            if (withDetails)
            {
                BizEntityListView bizEntityListView = new BizEntityListView();
                result.EntityListView = bizEntityListView.GetEntityListView(requester, item.EntityListViewID);
                if (result.EntityListView == null)
                {
                    throw new Exception("عدم دسترسی به لیست نمایش به شناسه" + " " + item.EntityListViewID);
                }
                BizEntityRelationshipTail bizEntityRelationshipTail = new MyModelManager.BizEntityRelationshipTail();
                foreach (var sub in item.CrosstabReportColumns)
                {
                    CrosstabReportColumnDTO rColumn = new CrosstabReportColumnDTO();
                    rColumn.ID = sub.ID;
                    rColumn.EntityListViewColumnID = sub.EntityListViewColumnsID;
                    rColumn.EntityListViewColumn   = result.EntityListView.EntityListViewAllColumns.FirstOrDefault(x => x.ID == sub.EntityListViewColumnsID);
                    if (rColumn.EntityListViewColumn == null)
                    {
                        throw new Exception("Crosstab report column" + " " + sub.ID + " " + "is not accessable!");
                    }
                    result.Columns.Add(rColumn);
                }
                foreach (var sub in item.CrosstabReportRows)
                {
                    CrosstabReportRowDTO rColumn = new CrosstabReportRowDTO();

                    rColumn.ID = sub.ID;
                    rColumn.EntityListViewColumnID = sub.EntityListViewColumnsID;
                    rColumn.EntityListViewColumn   = result.EntityListView.EntityListViewAllColumns.FirstOrDefault(x => x.ID == sub.EntityListViewColumnsID);
                    if (rColumn.EntityListViewColumn == null)
                    {
                        throw new Exception("Crosstab report row" + " " + sub.ID + " " + "is not accessable!");
                    }
                    result.Rows.Add(rColumn);
                }
                foreach (var sub in item.CrosstabReportValues)
                {
                    CrosstabReportValueDTO rColumn = new CrosstabReportValueDTO();

                    rColumn.ID = sub.ID;
                    rColumn.EntityListViewColumnID = sub.EntityListViewColumnsID;
                    rColumn.EntityListViewColumn   = result.EntityListView.EntityListViewAllColumns.First(x => x.ID == sub.EntityListViewColumnsID);
                    if (rColumn.EntityListViewColumn == null)
                    {
                        throw new Exception("Crosstab report value" + " " + sub.ID + " " + "is not accessable!");
                    }
                    rColumn.ValueFunction = (ChartReportValueFunction)sub.FunctoinType;

                    result.Values.Add(rColumn);
                }
            }

            return(result);
        }
        public EntityListReportDTO ToEntityListReportDTO(DR_Requester requester, EntityListReport item, bool withDetails)
        {
            EntityListReportDTO result = new EntityListReportDTO();

            result.ID = item.ID;
            bizEntitySearchableReport.ToEntitySearchableReportDTO(item.EntitySearchableReport, result, withDetails);
            result.EntityListViewID = item.EntityListViewID;

            if (withDetails)
            {
                BizEntityRelationshipTail bizEntityRelationshipTail = new MyModelManager.BizEntityRelationshipTail();
                BizEntityListView         bizEntityListView         = new BizEntityListView();
                result.EntityListView = bizEntityListView.GetEntityListView(requester, item.EntityListViewID);
                if (result.EntityListView == null)
                {
                    throw new Exception("عدم دسترسی به لیست نمایش به شناسه" + " " + item.EntityListViewID);
                }
                foreach (var dbSubReport in item.EntityListReportSubs1)
                {
                    EntityListReportSubsDTO subReport = new EntityListReportSubsDTO();
                    subReport.Title   = dbSubReport.Title;
                    subReport.OrderID = dbSubReport.OrderID ?? 0;
                    subReport.EntityRelationshipTailID = dbSubReport.EntityRelationshipTailID;
                    subReport.EntityListReportID       = dbSubReport.ChildEntityListReportID;
                    foreach (var subColumn in dbSubReport.EntityListReportSubsColumns)
                    {
                        EntityListReportSubsColumnsDTO rSubsColumn = new EntityListReportSubsColumnsDTO();
                        rSubsColumn.ParentEntityListViewColumnsID          = subColumn.ParentEntityListViewColumnsID;
                        rSubsColumn.ParentEntityListViewColumnAlias        = subColumn.EntityListViewColumns1.Alias ?? subColumn.EntityListViewColumns1.Column.Name;
                        rSubsColumn.ParentEntityListViewColumnRelativeName = subColumn.EntityListViewColumns1.Column.Name + (subColumn.EntityListViewColumns1.EntityRelationshipTailID ?? 0);
                        rSubsColumn.ParentEntityListViewColumnType         = (Enum_ColumnType)subColumn.EntityListViewColumns1.Column.TypeEnum;

                        rSubsColumn.ChildEntityListViewColumnsID          = subColumn.ChildEntityListViewColumnsID;
                        rSubsColumn.ChildEntityListViewColumnAlias        = subColumn.EntityListViewColumns.Alias ?? subColumn.EntityListViewColumns.Column.Name;
                        rSubsColumn.ChildEntityListViewColumnRelativeName = subColumn.EntityListViewColumns.Column.Name + (subColumn.EntityListViewColumns.EntityRelationshipTailID ?? 0);
                        rSubsColumn.ChildEntityListViewColumnType         = (Enum_ColumnType)subColumn.EntityListViewColumns.Column.TypeEnum;

                        subReport.SubsColumnsDTO.Add(rSubsColumn);
                    }
                    result.EntityListReportSubs.Add(subReport);
                }
                foreach (var sub in item.ReportGroups)
                {
                    ReportGroupDTO rColumn = new ReportGroupDTO();
                    rColumn.ID = sub.ID;
                    rColumn.ListViewColumnID     = sub.EntityListViewColumnsID;
                    rColumn.EntityListViewColumn = result.EntityListView.EntityListViewAllColumns.First(x => x.ID == sub.EntityListViewColumnsID);
                    rColumn.ColumnName           = rColumn.EntityListViewColumn.Column.Alias;
                    result.ReportGroups.Add(rColumn);
                }
            }

            return(result);
        }
        private void SetOwnerPart(DR_Requester requester, LetterTemplateDTO result, LetterTemplate ownerDbItem, bool withDetails)
        {
            result.TableDrivedEntityID = ownerDbItem.TableDrivedEntityID;
            result.Name             = ownerDbItem.Name;
            result.EntityListViewID = ownerDbItem.EntityListViewID;
            if (withDetails)
            {
                BizEntityListView bizEntityListView = new BizEntityListView();

                result.EntityListView = bizEntityListView.GetEntityListView(requester, ownerDbItem.EntityListViewID);
                if (result.EntityListView == null)
                {
                    throw new Exception("عدم دسترسی به لیست نمایش به شناسه" + " " + ownerDbItem.EntityListViewID);
                }

                BizFormula bizFormula = new BizFormula();
                foreach (var item in ownerDbItem.LetterTemplatePlainField)
                {
                    LetterTemplatePlainFieldDTO field = new LetterTemplatePlainFieldDTO();
                    field.FieldName = item.FieldName;
                    field.EntityListViewColumnsID = (item.EntityListViewColumnsID == null) ? 0 : item.EntityListViewColumnsID.Value;
                    if (field.EntityListViewColumnsID != 0)
                    {
                        field.EntityListViewColumns = result.EntityListView.EntityListViewAllColumns.First(x => x.ID == item.EntityListViewColumnsID);
                    }
                    field.FormulaID = (item.FormulaID == null) ? 0 : item.FormulaID.Value;
                    field.ID        = item.ID;
                    //if (item.ColumnID != null)
                    //    field.Type = LetterTemplateFieldType.Column;
                    //else if (item.ParameterID != null)
                    //    field.Type = LetterTemplateFieldType.Parameter;
                    //if (item.RelationshipID != null)
                    //    field.Type = LetterTemplateFieldType.RangeRelationship;

                    result.PlainFields.Add(field);
                }
                BizEntityRelationshipTail bizEntityRelationshipTail = new MyModelManager.BizEntityRelationshipTail();
                foreach (var item in ownerDbItem.LetterTemplateRelationshipField)
                {
                    LetterTemplateRelationshipFieldDTO field = new LetterTemplateRelationshipFieldDTO();
                    field.RelationshipTailID = item.EntityRelationshipTailID;
                    //field.EntityPreDefinedSearchID = (item.EntityPreDefinedSearchID == null) ? 0 : item.EntityPreDefinedSearchID.Value;
                    field.ID = item.ID;
                    field.RelationshipTail = bizEntityRelationshipTail.ToEntityRelationshipTailDTO(item.EntityRelationshipTail);
                    //field.NextLine = item.NextLine==true;
                    field.IsRow     = item.IsRow == true;
                    field.FieldName = item.FieldName;
                    field.PartialLetterTemplateID = item.PartialLetterTemplateID;
                    field.PartialLetterTemplate   = ToPartialLetterTemplateDTO(requester, item.PartialLetterTemplate, true);
                    //field.PartialLetterTemplate = ToPartialLetterTemplate(item.PartialLetterTemplate, true);
                    result.RelationshipFields.Add(field);
                }
            }
        }
        public EntitySearchDTO ToEntitySearchDTO(DR_Requester requester, EntitySearch item, bool withDetails)
        {
            EntitySearchDTO result = new EntitySearchDTO();

            result.TableDrivedEntityID = item.TableDrivedEntityID;
            result.ID    = item.ID;
            result.Title = item.Title;
            BizEntityRelationshipTail bizEntityRelationshipTail = new MyModelManager.BizEntityRelationshipTail();

            if (withDetails)
            {
                BizColumn bizColumn = new MyModelManager.BizColumn();
                foreach (var column in item.EntitySearchColumns)
                {
                    EntitySearchColumnsDTO rColumn = new EntitySearchColumnsDTO();
                    rColumn.ID       = column.ID;
                    rColumn.ColumnID = column.ColumnID ?? 0;
                    if (column.Column != null)
                    {
                        rColumn.Column = bizColumn.ToColumnDTO(column.Column, true);
                    }
                    if (column.ColumnID != null)
                    {
                        rColumn.Alias = column.Alias ?? column.Column.Alias ?? column.Column.Name;
                    }
                    else
                    {
                        rColumn.Alias = column.Alias ?? column.EntityRelationshipTail.TableDrivedEntity.Alias ?? column.EntityRelationshipTail.TableDrivedEntity.Name;
                    }
                    rColumn.OrderID = column.OrderID ?? 0;

                    //rColumn.WidthUnit = column.WidthUnit ?? 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.Column != null)
                        {
                            rColumn.Tooltip = rColumn.RelationshipTail.ReverseRelationshipTail.TargetEntityAlias + "." + rColumn.Column.Alias;
                        }
                    }
                    result.EntitySearchAllColumns.Add(rColumn);
                }
                //foreach (var tail in item.EntitySearchRelationshipTails)
                //{
                //    EntitySearchRelationshipTailDTO rTail = new EntitySearchRelationshipTailDTO();
                //    rTail.ID = tail.ID;
                //    rTail.EntityRelationshipTailID = tail.EntityRelationshipTailID;
                //    rTail.EntityRelationshipTail = bizEntityRelationshipTail.ToEntityRelationshipTailDTO(tail.EntityRelationshipTail);
                //    foreach (var tailColumn in tail.EntitySearchColumns)
                //    {
                //        rTail.EntitySearchColumns.Add(result.EntitySearchAllColumns.First(x => x.ID == tailColumn.ID));
                //    }
                //    result.EntitySearchRelationshipTails.Add(rTail);
                //}
            }
            ImposeSecurity(requester, result, item.TableDrivedEntity1);
            return(result);
        }