private AutoDispatchResourceHandlerTemplateData(CodeGenerationContext context, CodeGenerationParameter autoDispatchParameter)
        {
            _restResourceName = ClassFormatter.SimpleNameOf(autoDispatchParameter.value);

            var queryStoreProviderParameters = TemplateParameters.With(TemplateParameter.StorageType, StorageType.StateStore).And(TemplateParameter.Model, ModelType.Query);
            var queryStoreProviderName       = new TemplateStandard(TemplateStandardType.StoreProvider).ResolveClassname(queryStoreProviderParameters);
            var aggregateProtocolClassName   = ClassFormatter.SimpleNameOf(autoDispatchParameter.RetrieveRelatedValue(Label.ModelProtocol));

            _parameters = TemplateParameters.With(TemplateParameter.PackageName, ClassFormatter.PackageOf(autoDispatchParameter.value))
                          .And(TemplateParameter.StateName, new TemplateStandard(TemplateStandardType.AggregateState).ResolveClassname(aggregateProtocolClassName))
                          .And(TemplateParameter.Queries, QueriesParameter.From(autoDispatchParameter))
                          .And(TemplateParameter.RestResourceName, Standard().ResolveClassname(_restResourceName))
                          .And(TemplateParameter.UriRoot, autoDispatchParameter.RetrieveRelatedValue(Label.UriRoot))
                          .And(TemplateParameter.RouteDeclarations, RouteDeclarationParameter.From(autoDispatchParameter))
                          .And(TemplateParameter.ModelProtocol, autoDispatchParameter.RetrieveRelatedValue(Label.ModelProtocol))
                          .And(TemplateParameter.ModelActor, autoDispatchParameter.RetrieveRelatedValue(Label.ModelActor))
                          .And(TemplateParameter.HandlersConfigName, autoDispatchParameter.RetrieveRelatedValue(Label.HandlersConfigName))
                          .And(TemplateParameter.StoreProviderName, queryStoreProviderName).And(TemplateParameter.RouteMethod, new List <string>())
                          .And(TemplateParameter.AutoDispatchMappingName, _restResourceName).And(TemplateParameter.UseAutoDispatch, true)
                          .And(TemplateParameter.DataObjectName, new TemplateStandard(TemplateStandardType.DataObject).ResolveClassname(aggregateProtocolClassName))
                          .And(TemplateParameter.UseCqrs, context.ParameterOf <bool>(Label.Cqrs, x => bool.TrueString.ToLower() == x))
                          .AddImports(ResolveImports(context, autoDispatchParameter, queryStoreProviderName));

            DependOn(RouteMethodTemplateData.From(autoDispatchParameter, _parameters));
        }
Example #2
0
        public void Format1Test()
        {
            Type type1 = default;
            int  kra1  = default;

            ClassFormatter.Format1(type1, kra1);
            Assert.Fail("autogenerated");
        }
Example #3
0
        private string ResolveModelAttributeName(CodeGenerationParameter mainParameter, Label protocolLabel)
        {
            if (mainParameter.IsLabeled(Label.Aggregate))
            {
                return(ClassFormatter.SimpleNameToAttribute(mainParameter.value));
            }
            var qualifiedName = mainParameter.RetrieveRelatedValue(protocolLabel);

            return(ClassFormatter.QualifiedNameToAttribute(qualifiedName));
        }
Example #4
0
        public void GetTypeTest()
        {
            Type type = default;

            string actual = ClassFormatter.GetType(type);

            string expected = default;

            Assert.That(actual, Is.EqualTo(expected));
            Assert.Fail("autogenerated");
        }
        private QueriesParameter(string protocolPackageName, string protocolName, string actorPackageName, string actorName)
        {
            _actorName     = actorName;
            _protocolName  = protocolName;
            _attributeName = ClassFormatter.SimpleNameToAttribute(protocolName);

            if (!IsEmpty())
            {
                _qualifiedNames.Add(string.Format(_qualifiedNamePattern, protocolPackageName, protocolName));
                _qualifiedNames.Add(string.Format(_qualifiedNamePattern, actorPackageName, actorName));
            }
        }
        private string Resolve(Label invocationLabel, Label customParamsLabel, string defaultParameter, CodeGenerationParameter parentParameter, CodeGenerationParameter routeSignatureParameter)
        {
            if (!routeSignatureParameter.HasAny(customParamsLabel))
            {
                return(string.Empty);
            }
            var handlersConfigQualifiedName = parentParameter.RetrieveRelatedValue(Label.HandlersConfigName);
            var handlersConfigClassName     = ClassFormatter.SimpleNameOf(handlersConfigQualifiedName);
            var invocation = routeSignatureParameter.RetrieveRelatedValue(invocationLabel);

            if (routeSignatureParameter.RetrieveRelatedValue(customParamsLabel, x => bool.TrueString.ToLower() == x))
            {
                return(string.Format(_handlerInvocationPattern, handlersConfigClassName, invocation));
            }
            return(string.Format(_handlerInvocationWithDefaultParamsPattern, handlersConfigClassName, invocation, defaultParameter));
        }
Example #7
0
 public void SetUp()
 {
     _list           = new Mock <IEnumerable <string> >();
     _classFormatter = new ClassFormatter(_list.Object);
 }
Example #8
0
        private string ResolveCommandMethodInvocation(CodeGenerationParameter aggregateParameter, CodeGenerationParameter routeParameter)
        {
            var argumentsFormat            = new AggregateArgumentsFormat.MethodInvocation("stage()", "data");
            var method                     = AggregateDetail.MethodWithName(aggregateParameter, routeParameter.value);
            var factoryMethod              = method.RetrieveRelatedValue(Label.FactoryMethod, x => bool.TrueString.ToLower() == x);
            var scope                      = factoryMethod ? MethodScopeType.Static : MethodScopeType.Instance;
            var methodInvocationParameters = argumentsFormat.Format(method, scope);
            var invoker                    = factoryMethod ? aggregateParameter.value : ClassFormatter.SimpleNameToAttribute(aggregateParameter.value);

            return(string.Format(_commandPattern, invoker, method.value, methodInvocationParameters));
        }
 private QueriesParameter(string protocolQualifiedName, string actorQualifiedName) : this(ClassFormatter.PackageOf(protocolQualifiedName), ClassFormatter.SimpleNameOf(protocolQualifiedName), ClassFormatter.PackageOf(actorQualifiedName), ClassFormatter.SimpleNameOf(actorQualifiedName))
 {
 }