public Boolean UpdateDAL(GenerateSettings settings) { bool resultCode = true; db = new DalGenerator(); resultCode = updDALEntries(settings); if (resultCode == true) { if (settings.WebApiCreation == true) { resultCode = updApi(settings); if (resultCode == true) { if (settings.SDKCreation == true) { resultCode = updSdk(settings); if (resultCode == true) { if (settings.WebCreation == true) { resultCode = updWeb(settings); } } } } } } return(resultCode); }
public Boolean createDAL(GenerateSettings settings) { bool resultCode = true; CoreHelper.NewJson(settings.BaseDirectory, settings.CoreSdkVer); db = new DalGenerator(); resultCode = CoreHelper.CreateNewCoreProject(settings.BaseDirectory, settings.DalSpaceName, "classlib"); if (resultCode == true) { resultCode = CoreHelper.AddProjectToSolution(settings.BaseDirectory, settings.DalSpaceName + @"/" + settings.DalSpaceName + @".csproj", settings.SolutionName); if (resultCode == true) { foreach (var item in settings.DalRefferences) { resultCode = CoreHelper.AddRefferenceToProject(settings.BaseDirectory, settings.DalSpaceName + @"/" + settings.DalSpaceName + @".csproj", item); } foreach (var item in settings.DalPackages) { resultCode = CoreHelper.AddPackageToProject(settings.BaseDirectory, settings.DalSpaceName + @"/" + settings.DalSpaceName + @".csproj", item); } resultCode = CoreHelper.AddProjectToSolution(settings.BaseDirectory, settings.DalSpaceName + @"/" + settings.DalSpaceName + @".csproj", settings.SolutionName); } resultCode = generateDALEntries(settings); } if (resultCode == true) { if (settings.WebApiCreation == true) { //Create Web Api , resultCode = CoreHelper.CreateNewCoreProject(settings.BaseDirectory, settings.WebApiFolder, "webapi "); //CoreHelper.BuildProject(settings.BaseDirectory + @"\" + settings.DalSpaceName); if (resultCode == true) { foreach (var item in settings.WebApiRefferences) { resultCode = CoreHelper.AddRefferenceToProject(settings.BaseDirectory, settings.WebApiFolder + @"/" + settings.WebApiFolder + @".csproj", item); } foreach (var item in settings.WebApiPackages) { resultCode = CoreHelper.AddPackageToProject(settings.BaseDirectory, settings.WebApiFolder + @"/" + settings.WebApiFolder + @".csproj", item); } resultCode = CoreHelper.AddProjectToSolution(settings.BaseDirectory, settings.WebApiFolder + @"/" + settings.WebApiFolder + @".csproj", settings.SolutionName); resultCode = createApi(settings); } } } return(resultCode); }
private bool createApi(GenerateSettings settings) { bool resultCode = true; var ctrlDir = settings.BaseDirectory + @"\" + settings.WebApiFolder; var db = new DalGenerator(); var apiEntries = db.FrameworkTemplates.Where(o => o.StepNo == 1).OrderBy(o => o.CallPriority).ToList(); foreach (var item in apiEntries) { if (item.PerModel == true) { foreach (var modelEntry in settings.ModelNames) { var baseDir = ctrlDir + item.RelativePath; if (!System.IO.Directory.Exists(baseDir)) { System.IO.Directory.CreateDirectory(baseDir); } var fileCnt = System.Text.Encoding.Default.GetString(item.TemplateContent); fileCnt = clearEntry(fileCnt, settings, modelEntry); var fileName = settings.BaseDirectory + @"\" + settings.WebApiFolder + item.RelativePath + clearEntry(item.TemplateCodeFile, settings, modelEntry); System.IO.File.WriteAllText(fileName, fileCnt); } } else { var baseDir = ctrlDir + item.RelativePath; if (!System.IO.Directory.Exists(baseDir)) { System.IO.Directory.CreateDirectory(baseDir); } var fileCnt = System.Text.Encoding.Default.GetString(item.TemplateContent); fileCnt = clearEntry(fileCnt, settings); var fileName = settings.BaseDirectory + @"\" + settings.WebApiFolder + item.RelativePath + clearEntry(item.TemplateCodeFile, settings); System.IO.File.WriteAllText(fileName, fileCnt); } } if (settings.SDKCreation == true) { if (resultCode == true) { //Create SDk , resultCode = CoreHelper.CreateNewCoreProject(settings.BaseDirectory, settings.SDKFolder, "classlib"); if (resultCode == true) { foreach (var item in settings.SDKRefferences) { resultCode = CoreHelper.AddRefferenceToProject(settings.BaseDirectory, settings.SDKFolder + @"/" + settings.SDKFolder + @".csproj", item); } foreach (var item in settings.SDKPackages) { resultCode = CoreHelper.AddPackageToProject(settings.BaseDirectory, settings.SDKFolder + @"/" + settings.SDKFolder + @".csproj", item); } resultCode = CoreHelper.AddProjectToSolution(settings.BaseDirectory, settings.SDKFolder + @"/" + settings.SDKFolder + @".csproj", settings.SolutionName); resultCode = createSdk(settings); } } } return(resultCode); }
private bool updDALEntries(GenerateSettings settings) { bool resultCode = true; var db = new DalGenerator(); //Get Data from Data Project. var frameworkEntries = db.FrameworkTemplates.Where(o => o.StepNo == 0).Where(o => o.Ovveride == true).OrderBy(o => o.CallPriority).ToList(); foreach (FrameworkTemplate item in frameworkEntries.Where(o => o.Mode < 4).OrderBy(o => o.CallPriority)) { if (item.Mode != 1 && item.Mode != 3) { //DbContext var DalBaseDir = settings.BaseDirectory + @"\" + settings.DalSpaceName; if (System.IO.Directory.Exists(DalBaseDir + item.RelativePath)) { System.IO.Directory.CreateDirectory(DalBaseDir + item.RelativePath); } var fileCnt = System.Text.Encoding.Default.GetString(item.TemplateContent); var fileName = settings.BaseDirectory + @"\" + settings.DalSpaceName + item.RelativePath + clearEntry(item.TemplateCodeFile, settings); fileCnt = clearEntry(fileCnt, settings); var defaultdbSets = "public virtual DbSet<#Model#> #Model# { get; set; }"; var allDbSets = ""; foreach (var modelEntry in settings.ModelNames) { allDbSets += defaultdbSets.Replace("#Model#", modelEntry) + Environment.NewLine; } fileCnt = fileCnt.Replace("#public virtual DbSet<#Model#> #Model# { get; set; }#", allDbSets); System.IO.File.WriteAllText(fileName, fileCnt); } else { if (item.PerModel == false) { var DalBaseDir = settings.BaseDirectory + @"\" + settings.DalSpaceName; if (System.IO.Directory.Exists(DalBaseDir + item.RelativePath)) { System.IO.Directory.CreateDirectory(DalBaseDir + item.RelativePath); } var fileCnt = System.Text.Encoding.Default.GetString(item.TemplateContent); fileCnt = clearEntry(fileCnt, settings); var fileName = settings.BaseDirectory + @"\" + settings.DalSpaceName + item.RelativePath + clearEntry(item.TemplateCodeFile, settings); System.IO.File.WriteAllText(fileName, fileCnt); } else { var DalBaseDir = settings.BaseDirectory + @"\" + settings.DalSpaceName; foreach (var modelEntry in settings.ModelNames) { var fileCnt = System.Text.Encoding.Default.GetString(item.TemplateContent); var relativePath = clearEntry(item.RelativePath, settings, modelEntry); if (System.IO.Directory.Exists(DalBaseDir + relativePath)) { System.IO.Directory.CreateDirectory(DalBaseDir + relativePath); } fileCnt = clearEntry(fileCnt, settings, modelEntry); var fileName = settings.BaseDirectory + @"\" + settings.DalSpaceName + relativePath + clearEntry(item.TemplateCodeFile, settings, modelEntry); System.IO.File.WriteAllText(fileName, fileCnt); } } } } var privateObjects = ""; var publicObjects = ""; foreach (var item in frameworkEntries.Where(o => o.Mode == 4).OrderBy(o => o.CallPriority)) { if (item.TemplateCodeFile.StartsWith("private")) { var privateContent = System.Text.Encoding.Default.GetString(item.TemplateContent); foreach (var modelEntry in settings.ModelNames) { privateObjects += clearEntry(privateContent, settings, modelEntry) + Environment.NewLine; } } if (item.TemplateCodeFile.StartsWith("public")) { var publicContent = System.Text.Encoding.Default.GetString(item.TemplateContent); foreach (var modelEntry in settings.ModelNames) { publicObjects += clearEntry(publicContent, settings, modelEntry) + Environment.NewLine; } } } var finalDalItem = frameworkEntries.Where(o => o.Mode == 5).FirstOrDefault(); var finalCnt = System.Text.Encoding.Default.GetString(finalDalItem.TemplateContent); finalCnt = clearEntry(finalCnt, settings); finalCnt = finalCnt.Replace("#PrivateObjects#", privateObjects); finalCnt = finalCnt.Replace("#PublicObjects#", publicObjects); var finalfileName = settings.BaseDirectory + @"\" + settings.DalSpaceName + finalDalItem.RelativePath + clearEntry(finalDalItem.TemplateCodeFile, settings); System.IO.File.WriteAllText(finalfileName, finalCnt); return(resultCode); }