AutoActions for Skinny controllers–second template

The second template was pretty easy. All the date was inside the class definition :

class ClassDefinition
     {
         public string ClassName;
         public string NamespaceName;
         public Dictionary<string,MethodDefinition[]> DictNameField_Methods;
         public string version = ThisAssembly.Info.Version;   
     }
     class MethodDefinition
     {
         public string Name { get; set; }
         public string FieldName { get; set; }
         public string ReturnType;
         public bool ReturnsVoid;
         //name, type
         public Dictionary<string, ITypeSymbol> Parameters;

        public string parametersDefinitionCSharp => string.Join(“,”, Parameters.Select(it => it.Value.ContainingNamespace + “.” + it.Value.Name + ” ” + it.Key).ToArray());
         public string parametersCallCSharp => string.Join(“,”, Parameters.Select(it => it.Key).ToArray());

        public int NrParameters
         {
             get
             {
                 return Parameters?.Count ?? 0;
             }
         }

    }

so the only thing that I needed is to modify the template definition

I was having one problem: I have hardcoded the names in the first stage- so I have had problems with duplicate names: . As an example, it was:

namespace {{NamespaceName}} {
   [GeneratedCode(“SkinnyControllersGenerator”, “{{version}}”)]
   [CompilerGenerated]
   partial class WeatherForecastController{

and now it is

namespace {{NamespaceName}} {
   [GeneratedCode(“SkinnyControllersGenerator”, “{{version}}”)]
   [CompilerGenerated]
   partial class {{ClassName}}{

Besides this, the SCRIBAN documentation is pretty self explanatory to male the second template ready