private static void InferModelParameters(CodeGenerationParameter aggregateParameter, List <ContentBase> contents) { var modelActor = new TemplateStandard(TemplateStandardType.Aggregate).ResolveClassname(aggregateParameter.value); var modelProtocolQualifiedName = ContentQuery.FindFullyQualifiedClassName(new TemplateStandard(TemplateStandardType.AggregateProtocol), aggregateParameter.value, contents); var modelActorQualifiedName = ContentQuery.FindFullyQualifiedClassName(new TemplateStandard(TemplateStandardType.Aggregate), modelActor, contents); aggregateParameter.Relate(Label.ModelProtocol, modelProtocolQualifiedName).Relate(Label.ModelActor, modelActorQualifiedName); }
private HashSet <string> ResolveImports(CodeGenerationContext context, CodeGenerationParameter autoDispatchParameter, string queryStoreProviderName) { var queryStoreProviderQualifiedName = ContentQuery.FindFullyQualifiedClassName(new TemplateStandard(TemplateStandardType.StoreProvider), queryStoreProviderName, context.Contents().ToList()); var queriesProtocolQualifiedName = autoDispatchParameter.RetrieveRelatedValue(Label.QueriesProtocol); return(new HashSet <string>(new List <string>() { queriesProtocolQualifiedName, queryStoreProviderQualifiedName })); }
public static QueriesParameter From(CodeGenerationParameter aggregateParameter, List <ContentBase> contents, bool useCQRS) { if (!useCQRS) { return(QueriesParameter.Empty()); } var queriesProtocol = new TemplateStandard(TemplateStandardType.Queries).ResolveClassname(aggregateParameter.value); var queriesActor = new TemplateStandard(TemplateStandardType.QueriesActor).ResolveClassname(aggregateParameter.value); return(new QueriesParameter(ContentQuery.FindFullyQualifiedClassName(new TemplateStandard(TemplateStandardType.Queries), queriesProtocol, contents), ContentQuery.FindFullyQualifiedClassName(new TemplateStandard(TemplateStandardType.QueriesActor), queriesActor, contents))); }
private HashSet <string> ResolveImports(string aggregateName, List <ContentBase> contents) { var classes = MapClassesWithTemplateStandards(aggregateName); return(new HashSet <string>(classes.Select(entry => { try { var className = entry.Value; var standart = entry.Key; return ContentQuery.FindFullyQualifiedClassName(new TemplateStandard(standart), className, contents); } catch (ArgumentException exception) { return string.Empty; } }))); }