public IList <DesignedReportColumnProxy> GetDesignedReportsColumnsProxyByReportID(decimal reportID) { try { IList <DesignedReportColumn> designedReportColumnList = repDesignedReportColumns.Find(d => d.Report.ID == reportID).ToList <DesignedReportColumn>().Distinct(new DesignedReportColumnConceptKeyComparer()).OrderBy(o => o.Order).ToList <DesignedReportColumn>(); IList <DesignedReportColumnProxy> designedReportColumnProxyList = new List <DesignedReportColumnProxy>(); foreach (DesignedReportColumn item in designedReportColumnList) { DesignedReportColumnProxy designedReportColumnProxy = ConvertDesignedReportColumnToProxy(item); designedReportColumnProxyList.Add(designedReportColumnProxy); } return(designedReportColumnProxyList); } catch (Exception ex) { LogException(ex, "BDesignedReportsColumn", "GetDesignedReportsColumnsByReportID"); throw ex; } }
private DesignedReportColumnProxy ConvertDesignedReportColumnToProxy(DesignedReportColumn designedReportColumn) { try { DesignedReportColumnProxy designedReportColumnProxy = new DesignedReportColumnProxy(); designedReportColumnProxy.Active = designedReportColumn.Active; if (designedReportColumn.Concept != null) { switch (BLanguage.CurrentLocalLanguage) { case LanguagesName.Parsi: designedReportColumnProxy.Name = designedReportColumn.Concept.FnName; break; case LanguagesName.English: designedReportColumnProxy.Name = designedReportColumn.Concept.EnName; break; default: designedReportColumnProxy.Name = designedReportColumn.Concept.FnName; break; } designedReportColumnProxy.ConceptID = designedReportColumn.Concept.ID; designedReportColumnProxy.ColumnName = designedReportColumn.Concept.KeyColumnName; designedReportColumnProxy.ColumnType = DesignedReportColumnType.Concept.ToString(); } if (designedReportColumn.PersonInfo != null) { IList <PersonReserveField> personReserveFieldList = new List <PersonReserveField>(); if (designedReportColumn.PersonInfo.IsReserveField) { personReserveFieldList = new BPersonReservedField().GetAll(); } if (designedReportColumn.PersonInfo.IsReserveField) { string itemKey = designedReportColumn.PersonInfo.Key.ToString().Replace("prsTA_", ""); PersonReserveField personReserveFieldObj = personReserveFieldList.FirstOrDefault(r => r.OrginalName.ToLower().Trim() == itemKey.ToLower().Trim()); if (personReserveFieldObj != null) { designedReportColumnProxy.Name = personReserveFieldObj.Lable; } else { switch (BLanguage.CurrentLocalLanguage) { case LanguagesName.Parsi: designedReportColumnProxy.Name = designedReportColumn.PersonInfo.FnName; break; case LanguagesName.English: designedReportColumnProxy.Name = designedReportColumn.PersonInfo.EnName; break; default: designedReportColumnProxy.Name = designedReportColumn.PersonInfo.FnName; break; } } } else { switch (BLanguage.CurrentLocalLanguage) { case LanguagesName.Parsi: designedReportColumnProxy.Name = designedReportColumn.PersonInfo.FnName; break; case LanguagesName.English: designedReportColumnProxy.Name = designedReportColumn.PersonInfo.EnName; break; default: designedReportColumnProxy.Name = designedReportColumn.PersonInfo.FnName; break; } } designedReportColumnProxy.PersonInfoID = designedReportColumn.PersonInfo.ID; designedReportColumnProxy.ColumnName = new BReport().GetDesignedReportColumnFieldNameForDesigned(designedReportColumn); designedReportColumnProxy.ColumnType = DesignedReportColumnType.PersonInfo.ToString(); } if (designedReportColumn.Traffic != null) { switch (BLanguage.CurrentLocalLanguage) { case LanguagesName.Parsi: designedReportColumnProxy.Name = designedReportColumn.Traffic.FnName; break; case LanguagesName.English: designedReportColumnProxy.Name = designedReportColumn.Traffic.EnName; break; default: designedReportColumnProxy.Name = designedReportColumn.Traffic.FnName; break; } designedReportColumnProxy.TrafficID = designedReportColumn.Traffic.ID; designedReportColumnProxy.ColumnName = designedReportColumn.Traffic.Key.ToString(); designedReportColumnProxy.ColumnType = DesignedReportColumnType.Traffic.ToString(); designedReportColumnProxy.TrafficColumnCount = designedReportColumn.TrafficColumnCount.ToString(); } if (designedReportColumn.PersonParam != null) { switch (BLanguage.CurrentLocalLanguage) { case LanguagesName.Parsi: designedReportColumnProxy.Name = designedReportColumn.PersonParam.FnTitle; break; case LanguagesName.English: designedReportColumnProxy.Name = designedReportColumn.PersonParam.EnTitle; break; default: designedReportColumnProxy.Name = designedReportColumn.PersonParam.FnTitle; break; } designedReportColumnProxy.PersonParamID = designedReportColumn.PersonParam.ID; designedReportColumnProxy.ColumnName = new BReport().GetDesignedReportColumnFieldNameForDesigned(designedReportColumn); designedReportColumnProxy.ColumnType = DesignedReportColumnType.PersonParam.ToString(); } designedReportColumnProxy.ID = designedReportColumn.ID; designedReportColumnProxy.IsConcept = designedReportColumn.IsConcept; designedReportColumnProxy.Order = designedReportColumn.Order; designedReportColumnProxy.ReportID = designedReportColumn.Report.ID; designedReportColumnProxy.Title = designedReportColumn.Title; designedReportColumnProxy.IsGroupColumn = designedReportColumn.IsGroupColumn; return(designedReportColumnProxy); } catch (Exception ex) { LogException(ex, "BDesignedReportsColumn", "ConvertDesignedReportColumnToProxy"); throw ex; } }