private ResourceTemplate GetCommandActionTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, ControllerActionGroup action, ResourceTemplateType type) { var template = templates[type]; template.ResetParameters(); var routePlaceholder = GetCommandRoutePlaceholder(action.Node, action.DomainPlural, action.DomainSingular); template.SetParameter(TemplateParameterType.RoutePlaceholder, routePlaceholder); template.SetParameter(TemplateParameterType.CommandPlaceholder, action.Node.Name); return(template); }
private ResourceTemplate GetQueryActionTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, ControllerActionGroup action) { var template = templates[ResourceTemplateType.WebControllerGet]; template.ResetParameters(); var routePlaceholder = GetQueryRoutePlaceholder(action.Node, action.DomainPlural, action.DomainSingular); var vmPlaceholder = $"{GetQueryBaseName(action.Node, trimGet: true)}Vm"; template.SetParameter(TemplateParameterType.RoutePlaceholder, routePlaceholder); template.SetParameter(TemplateParameterType.QueryPlaceholder, action.Node.Name); template.SetParameter(TemplateParameterType.VmPlaceholder, vmPlaceholder); return(template); }
private ResourceTemplate GetActionTemplate(IDictionary <ResourceTemplateType, ResourceTemplate> templates, ControllerActionGroup action) { switch (action.Node.NodeType) { case AppNodeType.Query: case AppNodeType.ListQuery: case AppNodeType.BoolQuery: return(GetQueryActionTemplate(templates, action)); case AppNodeType.Command: return(GetCommandActionTemplate(templates, action, ResourceTemplateType.WebControllerCommand)); case AppNodeType.InsertCommand: return(GetCommandActionTemplate(templates, action, ResourceTemplateType.WebControllerCreate)); case AppNodeType.UpdateCommand: return(GetCommandActionTemplate(templates, action, ResourceTemplateType.WebControllerUpdate)); case AppNodeType.DeleteCommand: return(GetCommandActionTemplate(templates, action, ResourceTemplateType.WebControllerDelete)); default: return(null); } }