static void GenCodeInsert(TableViewBase pTable, string pSpBody, CodeGeneratorCommon.MethodActionType action, List <GeneratedCode> pProceduresCode) { StringBuilder wBuilder = null; GeneratedCode wCode = null; String wIntermediateCode = String.Empty; try { wBuilder = new StringBuilder(); wBuilder = GenCodeCommon(pTable, pSpBody); wIntermediateCode = "(" + GenCodeInsertParameters(pTable, action) + ")"; wBuilder.Replace("[Parameters]", wIntermediateCode); wBuilder.Replace("[Fields]", GenCodeInsertFields(pTable, action)); wBuilder.Replace("[Values]", GenCodeInsertValues(pTable, action)); wBuilder.Replace("[ReturnAutogenerated]", GenCodeInsertReturnAutogenerated(pTable, action)); wBuilder.Replace(CodeGeneratorCommon.CommonConstants.CONST_STOREDPROCEDURE_NAME, GetStoredProcedureName(pTable.Name, pTable.Schema, action)); //wCode = GetEntityGeneratedCode(pMethodInfo.Entity, pProceduresCode); wCode = new GeneratedCode(); wCode.Id = pTable.Name; wCode.Code.Append(wBuilder.ToString()); wCode.MethodActionType = action; pProceduresCode.Add(wCode); } finally { wBuilder = null; wCode = null; } }
public static TreeNode GenCode(List <Table> pTables) { List <GeneratedCode> wGeneratedCodeResult = new List <GeneratedCode>(); GeneratedCode wGeneratedCode; foreach (Table t in pTables) { wGeneratedCode = new GeneratedCode(); wGeneratedCode.Id = t.Name; wGeneratedCode.Code.Append(GenEntity.Generate(t, FwkGeneratorHelper.TemplateSetting.Project.ProjectName)); wGeneratedCodeResult.Add(wGeneratedCode); } return(BuildTreeNode(wGeneratedCodeResult)); }
public static TreeNode GenCode(List <Microsoft.SqlServer.Management.Smo.View> pViews) { List <GeneratedCode> wGeneratedCodeResult = new List <GeneratedCode>(); GeneratedCode wGeneratedCode; foreach (Microsoft.SqlServer.Management.Smo.View t in pViews) { wGeneratedCode = new GeneratedCode(); wGeneratedCode.Id = t.Name; wGeneratedCode.Code.Append(GenEntity.Generate(t, FwkGeneratorHelper.TemplateSetting.Project.ProjectName)); wGeneratedCodeResult.Add(wGeneratedCode); } return(BuildTreeNode(wGeneratedCodeResult)); }
public static TreeNode GenCode(List<Table> pTables ) { List<GeneratedCode> wGeneratedCodeResult = new List<GeneratedCode>(); GeneratedCode wGeneratedCode; foreach (Table t in pTables) { wGeneratedCode = new GeneratedCode(); wGeneratedCode.Id = t.Name; wGeneratedCode.Code.Append(GenEntity.Generate(t, FwkGeneratorHelper.TemplateSetting.Project.ProjectName)); wGeneratedCodeResult.Add(wGeneratedCode); } return BuildTreeNode(wGeneratedCodeResult); }
public static TreeNode GenCode(List<Microsoft.SqlServer.Management.Smo.View> pViews) { List<GeneratedCode> wGeneratedCodeResult = new List<GeneratedCode>(); GeneratedCode wGeneratedCode; foreach (Microsoft.SqlServer.Management.Smo.View t in pViews) { wGeneratedCode = new GeneratedCode(); wGeneratedCode.Id = t.Name; wGeneratedCode.Code.Append(GenEntity.Generate(t, FwkGeneratorHelper.TemplateSetting.Project.ProjectName)); wGeneratedCodeResult.Add(wGeneratedCode); } return BuildTreeNode(wGeneratedCodeResult); }
/// <summary> /// Inicia la generación de código fuente de un componente de acceso a datos /// </summary> /// <param name="pEntityGenerationInfo">información de generación de entidad para creación del componente de acceso a datos.</param> /// <returns>Código fuente.</returns> /// <date>2006-03-29T00:00:00</date> /// <author>Marcelo Oviedo</author> public static TreeNode GenCode(List<Microsoft.SqlServer.Management.Smo.Table> pTables) { List<GeneratedCode> wGeneratedCodeResult = new List<GeneratedCode>(); GeneratedCode wGeneratedCode; foreach (Microsoft.SqlServer.Management.Smo.Table t in pTables) { //GenClass(wEntityInfo,wGeneratedCodeResult); wGeneratedCode = new GeneratedCode(); wGeneratedCode.Id = t.Name; ///TODO: Ver parametros Gen_DAC wGeneratedCode.Code.Append(GenDAC.Gen_DAC(t, FwkGeneratorHelper.TemplateSetting.Methods.GenerateBatch, FwkGeneratorHelper.TemplateSetting.Project.ProjectName)); wGeneratedCodeResult.Add(wGeneratedCode); } return BuildTreeNode(wGeneratedCodeResult); }
static void GenCodeGetByParam(TableViewBase pTable, string pSpBody, CodeGeneratorCommon.MethodActionType action, List <GeneratedCode> pProceduresCode) { GeneratedCode wCode = null; try { String wSPCode = GenerateStoreSearchByParam(pTable); wCode = new GeneratedCode(); wCode.Code.Append(wSPCode); wCode.MethodActionType = action; wCode.Id = pTable.Name; pProceduresCode.Add(wCode); } finally { wCode = null; } }
/// <summary> /// Inicia la generación de código fuente de un componente de acceso a datos /// </summary> /// <param name="pEntityGenerationInfo">información de generación de entidad para creación del componente de acceso a datos.</param> /// <returns>Código fuente.</returns> /// <date>2006-03-29T00:00:00</date> /// <author>Marcelo Oviedo</author> public static TreeNode GenCode(List <Microsoft.SqlServer.Management.Smo.Table> pTables) { List <GeneratedCode> wGeneratedCodeResult = new List <GeneratedCode>(); GeneratedCode wGeneratedCode; foreach (Microsoft.SqlServer.Management.Smo.Table t in pTables) { //GenClass(wEntityInfo,wGeneratedCodeResult); wGeneratedCode = new GeneratedCode(); wGeneratedCode.Id = t.Name; ///TODO: Ver parametros Gen_DAC wGeneratedCode.Code.Append(GenDAC.Gen_DAC(t, FwkGeneratorHelper.TemplateSetting.Methods.GenerateBatch, FwkGeneratorHelper.TemplateSetting.Project.ProjectName)); wGeneratedCodeResult.Add(wGeneratedCode); } return(BuildTreeNode(wGeneratedCodeResult)); }
/// <summary> /// Devuelve el código generado para una entidad. /// </summary> /// <param name="pEntityInfo">Entidad para la que se generarán los procedimientos almacenados.</param> /// <param name="pProceduresCode">Lista de código generado.</param> /// <returns>Código generado para una entidad.</returns> /// <date>2006-03-20T00:00:00</date> /// <author>Marcelo Oviedo</author> static GeneratedCode GetEntityGeneratedCode(EntityInfo pEntityInfo, List <GeneratedCode> pProceduresCode) { GeneratedCode wResult = null; foreach (GeneratedCode wCode in pProceduresCode) { if (wCode.Id == pEntityInfo.Name) { wResult = wCode; break; } } if (wResult == null) { wResult = new GeneratedCode(); wResult.Id = pEntityInfo.Name; pProceduresCode.Add(wResult); } return(wResult); }
private void trvCodeGenerated_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node == null) { return; } if (e.Node.Level == 0) { return; } GeneratedCode gen = null; switch (e.Node.Level) { case 1: { if (e.Node.Parent.Tag.ToString() == "DAC") { gen = (GeneratedCode)e.Node.Tag; OnDACCodeGeneratedSelectEvent(gen.Code.ToString(), e.Node.Text, e.Node.Parent.Tag.ToString()); } if (e.Node.Parent.Tag.ToString() == "TDG") { gen = (GeneratedCode)e.Node.Tag; OnTDGCodeGeneratedSelectEvent(gen.Code.ToString(), e.Node.Text, e.Node.Parent.Tag.ToString()); } if (e.Node.Parent.Tag.ToString() == "BE") { gen = (GeneratedCode)e.Node.Tag; OnBECodeGeneratedSelectEvent(gen.Code.ToString(), e.Node.Text, e.Node.Parent.Tag.ToString()); } if (e.Node.Parent.Tag.ToString() == "SVC") { if (e.Node.Tag != null) { if (e.Node.Tag.GetType() != typeof(GeneratedCode)) { break; } gen = (GeneratedCode)e.Node.Tag; OnServiceCodeGeneratedSelectEvent(gen.Code.ToString(), e.Node.Text); } } break; } case 2: { if (e.Node.Parent.Tag != null) { if (e.Node.Parent.Tag.ToString() == "EntitySP") { gen = (GeneratedCode)e.Node.Tag; OnStoredProcedureCodeGeneratedSelectEvent(gen.Code.ToString(), e.Node.Parent.Text, e.Node.Parent.Parent.Name.ToString()); } } break; } case 3: { if (e.Node.Parent.Name == "ServiceTableMethod") { gen = (GeneratedCode)e.Node.Tag; OnServiceCodeGeneratedSelectEvent(gen.Code.ToString(), gen.Id); } break; } } }
/// <summary> /// Genera fisicamente los archivos corespondientes al codigo /// Para cada modulo crea una carpata una carpeta con su nombre.- /// Para los SP ademas genera una subfolder con el nombre de la entidad y dentro de ella /// graba un archivo *.spl por cada metodo.- /// </summary> /// <param name="pzsPath">Ruta raiz </param> /// <param name="pComponentLayer">Modulo (BE,DAC,TDG SVC, SP)</param> /// <param name="pGeneratedCodeList">Coleccion de GeneratedCodes</param> private void SaveGeneratedCodeFiles(string pzsPath, CodeGeneratorCommon.ComponentLayer pComponentLayer) { //if (pGeneratedCodeList.Count == 0) return; GeneratedCode wGeneratedCode = null; DirectoryInfo wdiModule = null; string wzsFile = String.Empty; if (pComponentLayer != CodeGeneratorCommon.ComponentLayer.SVC) { wdiModule = Directory.CreateDirectory(pzsPath + Path.DirectorySeparatorChar + Enum.GetName(typeof(CodeGeneratorCommon.ComponentLayer), pComponentLayer)); } else { wdiModule = Directory.CreateDirectory(pzsPath + Path.DirectorySeparatorChar); } #region BE, DAC y TDG if (pComponentLayer != CodeGeneratorCommon.ComponentLayer.SP && pComponentLayer != CodeGeneratorCommon.ComponentLayer.SVC) { foreach (TreeNode wNode in trvCodeGenerated.Nodes[Enum.GetName(typeof(CodeGeneratorCommon.ComponentLayer), pComponentLayer)].Nodes) { wGeneratedCode = (GeneratedCode)wNode.Tag; wzsFile = wdiModule.FullName + Path.DirectorySeparatorChar + wGeneratedCode.Id + Enum.GetName(typeof(CodeGeneratorCommon.ComponentLayer), pComponentLayer) + ".cs"; FileFunctions.SaveTextFile(wzsFile, wGeneratedCode.Code.ToString()); } } #endregion #region StoredProcedures if (pComponentLayer == CodeGeneratorCommon.ComponentLayer.SP) { DirectoryInfo wdiEntity = null; string wzsAux = string.Empty; foreach (TreeNode wNodeTable in trvCodeGenerated.Nodes[Enum.GetName(typeof(CodeGeneratorCommon.ComponentLayer), pComponentLayer)].Nodes) { foreach (TreeNode wNodeMethod in wNodeTable.Nodes) { wGeneratedCode = (GeneratedCode)wNodeMethod.Tag; if (wzsAux != wGeneratedCode.Id) { wdiEntity = Directory.CreateDirectory(wdiModule.FullName + Path.DirectorySeparatorChar + wGeneratedCode.Id); } wzsFile = wdiEntity.FullName + Path.DirectorySeparatorChar + wGeneratedCode.Id + "_" + wGeneratedCode.MethodActionType.ToString() + ".sql"; FileFunctions.SaveTextFile(wzsFile, wGeneratedCode.Code.ToString()); } } } #endregion if (pComponentLayer == CodeGeneratorCommon.ComponentLayer.SVC) { DirectoryInfo wdiSVC = Directory.CreateDirectory(wdiModule.FullName + Path.DirectorySeparatorChar + Enum.GetName(typeof(CodeGeneratorCommon.ComponentLayer), pComponentLayer)); DirectoryInfo wdiISVC = Directory.CreateDirectory(wdiModule.FullName + Path.DirectorySeparatorChar + Enum.GetName(typeof(CodeGeneratorCommon.ComponentLayer), CodeGeneratorCommon.ComponentLayer.ISVC)); TreeNode wNodeService = trvCodeGenerated.Nodes[Enum.GetName(typeof(CodeGeneratorCommon.ComponentLayer), pComponentLayer)]; if (wNodeService.Nodes.Count == 0) { return; } if (wNodeService.Nodes[0].Name != "ServiceTable") { ///Custom Serivices (SVC) & interfases(SVC) foreach (TreeNode wNodeClass in wNodeService.Nodes) { wGeneratedCode = (GeneratedCode)wNodeClass.Tag; if (wGeneratedCode.Id.Substring(wGeneratedCode.Id.Length - 10, 10) == "Service.cs") { wzsFile = wdiSVC.FullName + Path.DirectorySeparatorChar + wGeneratedCode.Id; } else { wzsFile = wdiISVC.FullName + Path.DirectorySeparatorChar + wGeneratedCode.Id; } FileFunctions.SaveTextFile(wzsFile, wGeneratedCode.Code.ToString()); } } if (wNodeService.Nodes[0].Name == "ServiceTable") { foreach (TreeNode wNodeServiceTable in wNodeService.Nodes) { foreach (TreeNode wNodeMethod in wNodeServiceTable.Nodes) { foreach (TreeNode wNodeClasses in wNodeMethod.Nodes) { wGeneratedCode = (GeneratedCode)wNodeClasses.Tag; if (wGeneratedCode.Id.Substring(wGeneratedCode.Id.Length - 10, 10) == "Service.cs") { wzsFile = wdiSVC.FullName + Path.DirectorySeparatorChar + wGeneratedCode.Id; } else { wzsFile = wdiISVC.FullName + Path.DirectorySeparatorChar + wGeneratedCode.Id; } FileFunctions.SaveTextFile(wzsFile, wGeneratedCode.Code.ToString()); } } } } } }
static void GenCodeInsert(TableViewBase pTable, string pSpBody, CodeGeneratorCommon.MethodActionType action, List<GeneratedCode> pProceduresCode) { StringBuilder wBuilder = null; GeneratedCode wCode = null; String wIntermediateCode = String.Empty; try { wBuilder = new StringBuilder(); wBuilder = GenCodeCommon(pTable, pSpBody); wIntermediateCode = "(" + GenCodeInsertParameters(pTable, action) + ")"; wBuilder.Replace("[Parameters]", wIntermediateCode); wBuilder.Replace("[Fields]", GenCodeInsertFields(pTable, action)); wBuilder.Replace("[Values]", GenCodeInsertValues(pTable, action)); wBuilder.Replace("[ReturnAutogenerated]", GenCodeInsertReturnAutogenerated(pTable, action)); wBuilder.Replace(CodeGeneratorCommon.CommonConstants.CONST_STOREDPROCEDURE_NAME, GetStoredProcedureName(pTable.Name, pTable.Schema, action)); //wCode = GetEntityGeneratedCode(pMethodInfo.Entity, pProceduresCode); wCode = new GeneratedCode(); wCode.Id = pTable.Name; wCode.Code.Append(wBuilder.ToString()); wCode.MethodActionType = action; pProceduresCode.Add(wCode); } finally { wBuilder = null; wCode = null; } }
static void GenCodeGetByParam(TableViewBase pTable, string pSpBody, CodeGeneratorCommon.MethodActionType action, List<GeneratedCode> pProceduresCode) { GeneratedCode wCode = null; try { String wSPCode = GenerateStoreSearchByParam(pTable); wCode = new GeneratedCode(); wCode.Code.Append(wSPCode); wCode.MethodActionType = action; wCode.Id = pTable.Name; pProceduresCode.Add(wCode); } finally { wCode = null; } }
/// <summary> /// Devuelve el código generado para una entidad. /// </summary> /// <param name="pEntityInfo">Entidad para la que se generarán los procedimientos almacenados.</param> /// <param name="pProceduresCode">Lista de código generado.</param> /// <returns>Código generado para una entidad.</returns> /// <date>2006-03-20T00:00:00</date> /// <author>Marcelo Oviedo</author> static GeneratedCode GetEntityGeneratedCode(EntityInfo pEntityInfo, List<GeneratedCode> pProceduresCode) { GeneratedCode wResult = null; foreach (GeneratedCode wCode in pProceduresCode) { if (wCode.Id == pEntityInfo.Name) { wResult = wCode; break; } } if (wResult == null) { wResult = new GeneratedCode(); wResult.Id = pEntityInfo.Name; pProceduresCode.Add(wResult); } return wResult; }