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());
                            }
                        }
                    }
                }
            }
        }