private void LoadDependencies(CodeGenerationParameter aggregate, bool useCQRS) { if (useCQRS) { aggregate.Relate(RouteDetail.DefaultQueryRouteParameter(aggregate)); } this.DependOn(AutoDispatchRouteTemplateData.From(aggregate.RetrieveAllRelated(Label.RouteSignature))); }
private List <string> FormatMethodParameters(CodeGenerationParameter parameter) { return(parameter.RetrieveAllRelated(ResolveFieldsLabel(parameter)).Select(param => { var paramType = StateFieldDetail.TypeOf(param.Parent(Label.Aggregate), param.value); return string.Format(_signaturePatttern, paramType, param.value); }).ToList()); }
private List <string> ResolveHandlerIndexes(CodeGenerationParameter aggregate, bool useCQRS) { var handlers = new List <List <CodeGenerationParameter> >() { aggregate.RetrieveAllRelated(Label.RouteSignature).ToList(), new List <CodeGenerationParameter>() { _stateAdapterHandler } }.SelectMany(x => x).ToList(); return(Enumerable.Range(0, handlers.Count()).Select(index => string.Format(_handlerIndexPattern, AutoDispatchMappingValueFormatter.Format(handlers[index].value), index)).ToList()); }
private static CodeGenerationParameter?FindMethod(CodeGenerationParameter aggregate, string methodName) => aggregate.RetrieveAllRelated(Label.AggregateMethod).Where(method => methodName == method.value || method.value.StartsWith(string.Concat(methodName, "("))).First();
public T Format(CodeGenerationParameter aggregate) => Format(aggregate, aggregate.RetrieveAllRelated(Label.StateField));
public static IEnumerable <TemplateData> From(CodeGenerationParameter aggregate) => aggregate.RetrieveAllRelated(Label.RouteSignature).Where(route => !route.HasAny(Label.ReadOnly)).Select(x => new AutoDispatchHandlerEntryTemplateData());
public static string TypeOf(CodeGenerationParameter aggregate, string stateFieldName) => aggregate.RetrieveAllRelated(Label.StateField).Where(stateField => stateField.value == stateFieldName).Select(stateField => stateField.RetrieveRelatedValue(Label.FieldType)).FirstOrDefault() ?? throw new ArgumentException();
public static List <RouteDeclarationParameter> From(CodeGenerationParameter mainParameter) { var routeSignatures = mainParameter.RetrieveAllRelated(Label.RouteSignature).ToList(); return(Enumerable.Range(0, routeSignatures.Count()).Select(index => new RouteDeclarationParameter(index, routeSignatures.Count(), routeSignatures[index])).ToList()); }
public static List <TemplateData> From(CodeGenerationParameter mainParameter, TemplateParameters parentParameters) => mainParameter.RetrieveAllRelated(Label.RouteSignature).Where(x => !x.RetrieveRelatedValue(Label.InternalRouteHandler, a => bool.TrueString.ToLower() == a)) .Select(routeSignatureParameter => (TemplateData) new RouteMethodTemplateData(mainParameter, routeSignatureParameter, parentParameters)).ToList();
private List <string> FormatMethodParameters(CodeGenerationParameter method) => method.RetrieveAllRelated(Label.MethodParameter).Select(param => string.IsNullOrEmpty(_carrier) ? param.value : string.Format(_filedAccessPattern, _carrier, param.value)).ToList();
public static bool requireModelFactory(CodeGenerationParameter aggregateParameter) => aggregateParameter.RetrieveAllRelated(Label.RouteSignature).Select(methodSignature => AggregateDetail.MethodWithName(aggregateParameter, methodSignature.value)).Any(method => method.RetrieveRelatedValue(Label.FactoryMethod, x => bool.TrueString.ToLower() == x));
public static bool RequireEntityLoad(CodeGenerationParameter aggregateParameter) => aggregateParameter.RetrieveAllRelated(Label.RouteSignature).Where(route => route.HasAny(Label.RequireEntityLoading)).Any(route => route.RetrieveRelatedValue(Label.RequireEntityLoading, x => bool.TrueString.ToLower() == x));