private static string RepositoryFunctionsSnippet(ReportFileInfo info) { // TODO: Implement UseExecutionContext concept for reports, then remove the predefined parameter executionContext from _ReportFile_FileGenerator. return(string.Format( @"protected static Func<object[][], string, Common.ExecutionContext, Rhetos.Dom.DefaultConcepts.ReportFile> _ReportFile_FileGenerator = {2}; public Rhetos.Dom.DefaultConcepts.ReportFile GenerateReport({0}.{1} parameter, string convertFormat = null) {{ {3} object[][] reportData = GetReportData(parameter); {4} Rhetos.Dom.DefaultConcepts.ReportFile file = _ReportFile_FileGenerator(reportData, convertFormat, _executionContext); {5} return file; }} Rhetos.Dom.DefaultConcepts.ReportFile IReportRepository.GenerateReport(object parameters, string convertFormat) {{ return GenerateReport(({0}.{1}) parameters, convertFormat); }} ", info.Module.Name, info.Name, info.Expression, BeforePrepareDataTag.Evaluate(info), BeforeGenerateReportTag.Evaluate(info), AfterGenerateReportTag.Evaluate(info))); }
public static string RegisterRepository(ReportFileInfo info) { return(string.Format(@"builder.RegisterType<{0}._Helper.{1}_Repository>().Keyed<IReportRepository>(""{0}.{1}"").InstancePerLifetimeScope(); ", info.Module.Name, info.Name)); }