void LoadGeneratedCode(CodeGeneratorCommon.ComponentLayer pComponentLayer, TreeNode pNodeToClone) { String wNodeKey = Enum.GetName(typeof(CodeGeneratorCommon.ComponentLayer), pComponentLayer); trvCodeGenerated.Nodes[wNodeKey].Nodes.Clear(); foreach (TreeNode node in pNodeToClone.Nodes) { trvCodeGenerated.Nodes[wNodeKey].Nodes.Add((TreeNode)node.Clone()); } ListViewCodeGen.ImageToBackend(trvCodeGenerated.Nodes[wNodeKey]); }
/// <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()); } } } } } }