private static string MemberFunctionsSnippet(QueryWithParameterInfo info) { return string.Format( @" public IQueryable<global::{0}.{1}> Query({2} queryParameter) {{ {4} Func<{2}, IQueryable<global::{0}.{1}>> queryFunction = {3}; var queryResult = queryFunction(queryParameter); {5} return queryResult; }} ", info.DataStructure.Module.Name, info.DataStructure.Name, info.ParameterType, info.QueryImplementation.Trim(), BeforeQueryTag.Evaluate(info), AfterQueryTag.Evaluate(info)); }
private static string RegisterRepository(QueryWithParameterInfo info) { return string.Format(@"builder.RegisterType<{0}._Helper.{1}_Repository>().As<{2}>().InstancePerLifetimeScope(); ", info.DataStructure.Module.Name, info.DataStructure.Name, InterfaceName(info)); }
private static string InterfaceName(QueryWithParameterInfo info) { return string.Format("IQueryableRepository<global::{0}.{1}, {2}>", info.DataStructure.Module.Name, info.DataStructure.Name, info.ParameterType); }