Пример #1
0
        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;
            }
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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);

        }
Пример #5
0
        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);

        }
Пример #6
0
            /// <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);
            }
Пример #7
0
        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;
            }
        }
Пример #8
0
        /// <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));
        }
Пример #9
0
        /// <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);
        }
Пример #10
0
        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;
            }
            }
        }
Пример #11
0
        /// <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());
                            }
                        }
                    }
                }
            }
        }
Пример #12
0
        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;
            }
        }
Пример #13
0
        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;
            }
        }
Пример #14
0
        /// <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;

        }