public static NEMILTEC.Interfaces.Service.Reporting.Report CreateReport(Domain.Report report, IDataContext context) { var newReport = new NEMILTEC.Interfaces.Service.Reporting.Report { Name = report.Name, Description = report.Description, Title = report.Title, TemplateFileStream = NEMILTEC.Service.Shared.Document.GetStream(report.TemplateFile.Id, context), OutputType = (NEMILTEC.Interfaces.Service.Reporting.Enums.ReportOutputType)report.OutputType.Id }; newReport.Elements = report.Elements.Select(e => _CreateElement(e, newReport, context)).ToArray(); return(newReport); }
private static NEMILTEC.Interfaces.Service.Reporting.IReportElement _CreateElement( Domain.ReportElement element, NEMILTEC.Interfaces.Service.Reporting.Report report, IDataContext context) { var newElement = ReportElementFactory.Create(element.ReportElementType.Id); newElement.Name = element.Name; newElement.Description = element.Description; newElement.Title = element.Title; newElement.Report = report; if (!element.TemplateInfo.IsNullOrEmpty()) { var templateInfo = ReportElementTemplateInfoSerializer.Deserialize((ReportElementType)element.ReportElementType.Id, element.TemplateInfo); newElement.TemplateInfo = templateInfo; } //if (element.Expression != null) //{ // newElement.Expression = ExpressionFactory.Create(element.Expression, context); //} if (element.Query != null) { newElement.Query = QueryFactory.Create(element.Query); } if (!element.Parameters.IsNullOrEmpty()) { newElement.Parameters = element.Parameters.Select(p => _CreateElementParameter(p, context)).ToArray(); } return(newElement); }