private bool createSdk(GenerateSettings settings) { bool resultCode = true; //var ctrlDir = settings.BaseDirectory + @"\" + settings.SDKFolder; //var db = new DalGenerator(); //var apiEntries = db.FrameworkTemplates.Where(o => o.StepNo == 2).OrderBy(o => o.CallPriority).ToList(); //foreach (var item in apiEntries.Where(o=>o.Mode!=1).OrderBy(o=>o.CallPriority).ToList()) //{ // 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.SDKFolder + 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.SDKFolder + item.RelativePath + clearEntry(item.TemplateCodeFile, settings); // System.IO.File.WriteAllText(fileName, fileCnt); // } //} //var privateObjects = ""; //var publicObjects = ""; //foreach (var item in apiEntries.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 = apiEntries.Where(o => o.Mode == 5).FirstOrDefault(); //if (finalDalItem != null) //{ // 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.SDKFolder + finalDalItem.RelativePath + clearEntry(finalDalItem.TemplateCodeFile, settings); // System.IO.File.WriteAllText(finalfileName, finalCnt); //} //if (settings.WebCreation == true) //{ // //Create Web Api , // resultCode = CoreHelper.CreateNewCoreProject(settings.BaseDirectory, settings.WebFolder, "classlib"); // if (resultCode == true) // { // foreach (var item in settings.WebRefferences) // { // resultCode = CoreHelper.AddRefferenceToProject(settings.BaseDirectory, settings.WebFolder + @"/" + settings.WebFolder + @".csproj", item); // } // foreach (var item in settings.WebPackages) // { // resultCode = CoreHelper.AddPackageToProject(settings.BaseDirectory, settings.WebFolder + @"/" + settings.WebFolder + @".csproj", item); // } // resultCode = CoreHelper.AddProjectToSolution(settings.BaseDirectory, settings.WebFolder + @"/" + settings.WebFolder + @".csproj", settings.SolutionName); // resultCode = createWeb(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 updSdk(GenerateSettings settings) { bool resultCode = true; //var ctrlDir = settings.BaseDirectory + @"\" + settings.SDKFolder; //var db = new DalGenerator(); //var apiEntries = db.FrameworkTemplates.Where(o => o.StepNo == 2 && o.Ovveride == true).OrderBy(o => o.CallPriority).ToList(); //foreach (var item in apiEntries.Where(o => o.Mode != 1).OrderBy(o => o.CallPriority).ToList()) //{ // 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.SDKFolder + 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.SDKFolder + item.RelativePath + clearEntry(item.TemplateCodeFile, settings); // System.IO.File.WriteAllText(fileName, fileCnt); // } //} //var privateObjects = ""; //var publicObjects = ""; //foreach (var item in apiEntries.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 = apiEntries.Where(o => o.Mode == 5).FirstOrDefault(); //if (finalDalItem != null) //{ // 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.SDKFolder + finalDalItem.RelativePath + clearEntry(finalDalItem.TemplateCodeFile, settings); // System.IO.File.WriteAllText(finalfileName, finalCnt); //} 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); }