示例#1
0
        public void GravaProc(TableDefs Tabs, StringBuilder Out, Boolean soPoco)
        {
            Out.ApLine();
            Out.Append("    // Proc ")
            .ApLine(Name);
            Out.Append("    public class ")
            .Append(NomeClass)
            .ApLine(" : DBProc");
            Out.ApLine("    {");
            foreach (ColDef Coluna in Cols)
            {
                Coluna.GravaDeclField(Out);
            }

            // Grava um constructor default com que constroi todas as colunas
            Out.ApLine();
            Out.ApLine("        // Constructor");
            Out.Append("        public ")
            .Append(NomeClass)
            .ApLine("(DBConnection Conn)");
            Out.ApLine("            : base(Conn)");
            Out.ApLine("        {");

            foreach (ColDef Coluna in Cols)
            {
                Coluna.GravaInicField(Out);
            }
            Out.ApLine();
            Out.ApLine("            Command.CommandType = CommandType.StoredProcedure;");
            Out.Append("            Command.CommandText = \"")
            .Append(Name)
            .ApLine("\";");
            Out.ApLine("        }");

            /* Constructors a partir de tabelas ?
             * Só se tiver na mesma posição para evitar confusão....
             * Disconsidera o DtInclusao DateTime e campos tipo TimeStamp
             */
            foreach (TableDef Tab in Tabs)
            {
                if (Tab != this && Tab.Type == "U")    // Somente Tabelas
                {
                    Int32 CH = CamposIguais(Tab.ColsSemTSSemDtInclusao);
                    if (CH > 0)
                    {
                        GravaConstructorHerdProc(Out, Tab, CH, soPoco);
                    }
                }
            }

            Out.ApLine("    }");
        }
示例#2
0
        public void GravaCursor(StringBuilder Out)
        {
            Out.Append("    // Tabela ")
            .ApLine(Name);
            Out.Append("    public partial class ")
            .Append(NomeClass)
            .Append(" : DBCursor, IRecFuncs<r")
            .Append(NomeClass)
            .Append(">");
            if (TemIStdPKey)
            {
                Out.ApLine(", IStdPKey");
            }
            Out.ApLine("    {");

            foreach (ColDef Coluna in Cols)
            {
                Coluna.GravaDeclField(Out);
            }

            Out.ApLine();
            Out.ApLine("        // Constructor");
            Out.Append("        public ")
            .Append(NomeClass);
            Out.ApLine("(DBConnection Conn)");
            Out.ApLine("            : base(Conn)");
            Out.ApLine("        {");

            Out.Append("            Name = \"")
            .Append(NomeClass)
            .ApLine("\";");
            Out.ApLine();

            foreach (ColDef Coluna in Cols)
            {
                Coluna.GravaInicField(Out);
            }

            Out.ApLine("        }");

            if (TemIStdPKey)
            {
                GeraPKeyInterface(Out, ColPKey);
            }

            GeraRecFuncs(Out, String.Empty);

            Out.ApLine("    }");
            Out.ApLine();
        }
示例#3
0
        public void GravaView(StringBuilder Out)
        {
            Out.Append("    /* View ")
            .ApLine(Name);
            Out.ApLine(ViewText);
            Out.ApLine("    */");
            Out.Append("    public partial class ")
            .Append(NomeClass)
            .Append(" : ");
            Out.Append("DBCursor, IRecFuncs<r")
            .Append(NomeClass)
            .Append(">");

            if (TabHerd != null)
            {
                if (TabHerd.TemIStdPKey)
                {
                    Out.Append(", IStdPKey");
                }
            }

            Out.ApLine();
            Out.ApLine("    {");

            foreach (ColDef Coluna in Cols)
            {
                //if (Coluna.Index >= CamposHerd)
                Coluna.GravaDeclField(Out);
            }

            Out.ApLine();
            Out.ApLine("        // Constructor");
            Out.Append("        public ")
            .Append(NomeClass)
            .ApLine("(DBConnection Conn)");
            Out.ApLine("            : base(Conn)");
            Out.ApLine("        {");

            Out.Append("            Name = \"")
            .Append(NomeClass)
            .ApLine("\";");
            Out.ApLine();

            foreach (ColDef Coluna in Cols)
            {
                // if (Coluna.Index >= CamposHerd)
                Coluna.GravaInicField(Out);
            }
            Out.ApLine("        }");

            if (TabHerd != null)
            {
                if (TabHerd.TemIStdPKey)
                {
                    GeraPKeyInterface(Out, TabHerd.ColPKey);
                }
            }

            GeraRecFuncs(Out, "new");

            Out.ApLine("    }");
            Out.ApLine();
        }