Exemplo n.º 1
0
        public void Scaffold()
        {
            logger.Info("Scaffolding started...");
            var scaffoldedFiles = 0;

            try
            {
                var basePath = projectItem.Properties.Item("FullPath").Value.ToString();

                foreach (var templateDefinition in templateProvider.TemplateDefinitions)
                {
                    var compiledTemplate = templateDefinition.Compile(templateVars, logger);

                    if (compiledTemplate != null)
                    {
                        var filePath = templateDefinition.CompileFullPath(templateVars, basePath);
                        if (filePersister.PersistFile(filePath, compiledTemplate.Render(), templateDefinition.Overwrite))
                        {
                            scaffoldedFiles++;
                        }
                    }
                }
                logger.Info(string.Format("Successfully scaffolded {0} files", scaffoldedFiles));
            }
            catch (Exception e)
            {
                logger.Error("Critical error! Aborting...");
                logger.Error(e.ToString());
            }
        }