コード例 #1
0
        public List <CodeTemplate> CompileTemplates(ScaffoldViewModel model)
        {
            Dictionary <string, string> KeyVals = new Dictionary <string, string>();

            KeyVals.Add("<#= ModelTypeName #>", model.ModelName);
            KeyVals.Add("<#= ModelVariable #>", model.ModelName.ToLower());
            KeyVals.Add("<#= Namespace #>", model.Namespace);
            string json = JsonConvert.SerializeObject(KeyVals);

            List <ICompilable> compilers = new List <ICompilable>()
            {
                //new ModelTemplateInterpreter(_config),
                new ModuloInterpreter(),
                new KeyValReplacer(json)
            };

            List <CodeTemplate> templates = new List <CodeTemplate>();

            foreach (CodeTemplate template in DocProvider.GetTemplates(path))
            {
                foreach (ICompilable compiler in compilers)
                {
                    template.Content = compiler.Compile(template.Content);
                }
                templates.Add(template);
            }
            return(templates);
        }
コード例 #2
0
 public IActionResult Save([FromBody] ScaffoldViewModel model)
 {
     model.CodeTemplates.Clear();
     model.CodeTemplates = CompileTemplates(model);
     WriteFiles(model.ModelName, model.SaveDestination, model.CodeTemplates);
     return(new JsonResult(model));
 }
コード例 #3
0
        public IActionResult GetCodeTemplates(string ModelName, string Namespace)
        {
            ScaffoldViewModel model = new ScaffoldViewModel();

            model.SaveDestination = dest;
            model.ModelName       = ModelName;
            model.Namespace       = Namespace;
            model.CodeTemplates   = CompileTemplates(model);
            return(new JsonResult(model));
        }
コード例 #4
0
        public IActionResult GetScaffold(int ID)
        {
            ScaffoldViewModel model = new ScaffoldViewModel();

            model.SaveDestination = dest;
            model.ModelName       = "{0}";
            model.Namespace       = "{1}";
            model.CodeTemplates   = CompileTemplates(model);
            return(new JsonResult(model));
        }
コード例 #5
0
 public IActionResult Load([FromBody] ScaffoldViewModel model)
 {
     model.CodeTemplates.Clear();
     model.CodeTemplates = CompileTemplates(model);
     return(new JsonResult(model));
 }