コード例 #1
0
        public void MySQLGenerarDelete()
        {
            int n_iteraciones = 0;
            int n_pk          = (from c in _lstColumnaBE where c.Es_PK select c).Count();
            int n_no_pk       = (from c in _lstColumnaBE where !c.Es_PK select c).Count();

            using (StreamWriter sp = File.AppendText(_Ruta))
            {
                MySQLGenerarHeaderSP(sp);
                sp.WriteLine("CREATE PROCEDURE `" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Delete` (");
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (c.Es_PK)
                    {
                        sp.WriteLine("    in v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.MySQLParameter(c) + (n_iteraciones != n_pk - 1 ? "," : ""));
                        n_iteraciones++;
                    }
                }
                sp.WriteLine(")");
                sp.WriteLine("BEGIN");
                sp.WriteLine("    delete from `" + _objTablaBE.Nombre + "`");
                sp.WriteLine("    where");
                n_iteraciones = 0;
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (c.Es_PK)
                    {
                        sp.WriteLine("        `" + c.Nombre + "` = v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : ";"));
                        n_iteraciones++;
                    }
                }
                sp.WriteLine("END $$");
                sp.WriteLine("");
            }
        }
コード例 #2
0
        public void MySQLGenerarUpdate()
        {
            int n_no_pk     = (from c in _lstColumnaBE where !c.Es_PK select c).Count();
            int n_pk        = (from c in _lstColumnaBE where c.Es_PK select c).Count();
            int n_parameter = (from c in _lstColumnaBE where c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoUsuarioCreacion && c.Nombre != _CampoHabilitado select c).Count();
            int n_update    = (from c in _lstColumnaBE where !c.Es_PK && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoUsuarioCreacion && c.Nombre != _CampoHabilitado select c).Count();

            if (n_no_pk != 0 && n_pk != 0)
            {
                int n_iteraciones = 0;

                using (StreamWriter sp = File.AppendText(_Ruta))
                {
                    MySQLGenerarHeaderSP(sp);
                    sp.WriteLine("CREATE PROCEDURE `" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Update` (");
                    foreach (ColumnaBE c in _lstColumnaBE)
                    {
                        if (c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoUsuarioCreacion && c.Nombre != _CampoHabilitado)
                        {
                            sp.WriteLine("    v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.MySQLParameter(c) + (n_iteraciones != n_parameter - 1 ? "," : ""));
                            n_iteraciones++;
                        }
                    }
                    sp.WriteLine(")");
                    sp.WriteLine("BEGIN");
                    sp.WriteLine("    update `" + _objTablaBE.Nombre + "`");
                    sp.WriteLine("    set");
                    n_iteraciones = 0;
                    foreach (ColumnaBE c in _lstColumnaBE)
                    {
                        if (!c.Es_PK && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoUsuarioCreacion && c.Nombre != _CampoHabilitado)
                        {
                            if (c.Nombre == _CampoFechaModificacion)
                            {
                                sp.WriteLine("        `" + c.Nombre + "` = UTC_TIMESTAMP()" + (n_iteraciones != n_update - 1 ? "," : ""));
                            }
                            else
                            {
                                sp.WriteLine("        `" + c.Nombre + "` = v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_update - 1 ? "," : ""));
                            }
                            n_iteraciones++;
                        }
                    }
                    sp.WriteLine("    where");
                    n_iteraciones = 0;
                    foreach (ColumnaBE c in _lstColumnaBE)
                    {
                        if (c.Es_PK)
                        {
                            sp.WriteLine("        `" + c.Nombre + "` = v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : ";"));
                            n_iteraciones++;
                        }
                    }
                    sp.WriteLine("END $$");
                    sp.WriteLine("");
                }
            }
        }
コード例 #3
0
        public void SQLGenerarChangeState()
        {
            int    n_iteraciones   = 0;
            int    n_pk            = (from c in _lstColumnaBE where c.Es_PK select c).Count();
            int    n_no_pk         = (from c in _lstColumnaBE where !c.Es_PK select c).Count();
            string whereHabilitado = "";

            using (StreamWriter sp = File.AppendText(_Ruta))
            {
                SQLGenerarHeaderSP(sp, Modo.Change_Estate);
                sp.WriteLine("CREATE PROCEDURE [" + _objTablaBE.Esquema + "].[" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Change_State] (");
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (c.Es_PK)
                    {
                        sp.WriteLine("    @" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (n_iteraciones != n_pk - 1 ? "," : ""));
                        whereHabilitado += "[" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : "");
                        n_iteraciones++;
                    }
                }
                sp.WriteLine(")");
                sp.WriteLine("AS");
                sp.WriteLine("BEGIN");
                sp.WriteLine("");
                sp.WriteLine("    SET NOCOUNT ON;");
                sp.WriteLine("");
                sp.WriteLine("    declare @habilitado bit = (select [" + _CampoHabilitado + "] from [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "] where " + whereHabilitado + ");");
                sp.WriteLine("");
                sp.WriteLine("    if(@habilitado = 1)");
                sp.WriteLine("        set @habilitado = 0");
                sp.WriteLine("    else");
                sp.WriteLine("        set @habilitado = 1");
                sp.WriteLine("");
                sp.WriteLine("    update [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "]");
                sp.WriteLine("    set [" + _CampoHabilitado + "] = @habilitado");
                sp.WriteLine("    where");
                n_iteraciones = 0;
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (c.Es_PK)
                    {
                        sp.WriteLine("        [" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : ""));
                        n_iteraciones++;
                    }
                }
                sp.WriteLine("END");
                sp.WriteLine("GO");
                sp.WriteLine("");
            }
        }
コード例 #4
0
        public void SQLGenerarGet()
        {
            String inicial_tabla = _objTablaBE.Nombre.First().ToString().ToLower();
            bool   primero       = true;
            int    n_iteraciones = 0;
            int    n_pk          = (from c in _lstColumnaBE where c.Es_PK select c).Count();
            int    n_no_pk       = (from c in _lstColumnaBE where !c.Es_PK select c).Count();

            using (StreamWriter sp = File.AppendText(_Ruta))
            {
                SQLGenerarHeaderSP(sp, Modo.Seleccioar_X_ID);
                sp.WriteLine("CREATE PROCEDURE [" + _objTablaBE.Esquema + "].[" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Get](");
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (c.Es_PK)
                    {
                        sp.WriteLine("    @" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (n_iteraciones != n_pk - 1 ? "," : ""));
                        n_iteraciones++;
                    }
                }
                sp.WriteLine(")");
                sp.WriteLine("AS");
                sp.WriteLine("BEGIN");
                sp.WriteLine("");
                sp.WriteLine("    SET NOCOUNT ON;");
                sp.WriteLine("");
                sp.WriteLine("    select ");
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    sp.WriteLine("        " + (primero ? "" : ",") + inicial_tabla + ".[" + c.Nombre + "]");
                    primero = false;
                }
                sp.WriteLine("    from [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "] " + inicial_tabla);
                sp.WriteLine("    where");
                n_iteraciones = 0;
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (c.Es_PK)
                    {
                        sp.WriteLine("        " + inicial_tabla + ".[" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : ""));
                        n_iteraciones++;
                    }
                }
                sp.WriteLine("END");
                sp.WriteLine("GO");
                sp.WriteLine("");
            }
        }
コード例 #5
0
        public void MySQLGenerarChangeState()
        {
            int n_iteraciones = 0;
            int n_pk          = (from c in _lstColumnaBE where c.Es_PK select c).Count();
            int n_no_pk       = (from c in _lstColumnaBE where !c.Es_PK select c).Count();

            using (StreamWriter sp = File.AppendText(_Ruta))
            {
                string whereHabilitado = "";
                MySQLGenerarHeaderSP(sp);
                sp.WriteLine("CREATE PROCEDURE `" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Change_State` (");
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (c.Es_PK)
                    {
                        sp.WriteLine("    in v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.MySQLParameter(c) + (n_iteraciones != n_pk - 1 ? "," : ""));
                        whereHabilitado += "`" + c.Nombre + "` = v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : "");

                        n_iteraciones++;
                    }
                }
                sp.WriteLine(")");
                sp.WriteLine("BEGIN");
                sp.WriteLine("    set @habilitado = (select `" + _CampoHabilitado + "` from `" + _objTablaBE.Nombre + "` where " + whereHabilitado + ");");
                sp.WriteLine("");
                sp.WriteLine("    if(@habilitado = true) then");
                sp.WriteLine("        set @habilitado = false;");
                sp.WriteLine("    else");
                sp.WriteLine("        set @habilitado = true;");
                sp.WriteLine("    end if;");
                sp.WriteLine("");
                sp.WriteLine("    update `" + _objTablaBE.Nombre + "`");
                sp.WriteLine("    set `" + _CampoHabilitado + "` =  @habilitado");
                sp.WriteLine("    where");
                n_iteraciones = 0;
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (c.Es_PK)
                    {
                        sp.WriteLine("        `" + c.Nombre + "` = v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : ";"));
                        n_iteraciones++;
                    }
                }
                sp.WriteLine("END $$");
                sp.WriteLine("");
            }
        }
コード例 #6
0
        public void MySQLGenerarGet()
        {
            String inicial_tabla = _objTablaBE.Nombre.First().ToString().ToLower();
            bool   primero       = true;
            int    n_iteraciones = 0;
            int    n_pk          = (from c in _lstColumnaBE where c.Es_PK select c).Count();
            int    n_no_pk       = (from c in _lstColumnaBE where !c.Es_PK select c).Count();

            using (StreamWriter sp = File.AppendText(_Ruta))
            {
                MySQLGenerarHeaderSP(sp);
                sp.WriteLine("CREATE PROCEDURE `" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Get`(");
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (c.Es_PK)
                    {
                        sp.WriteLine("    in v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.MySQLParameter(c) + (n_iteraciones != n_pk - 1 ? "," : ""));
                        n_iteraciones++;
                    }
                }
                sp.WriteLine(")");
                sp.WriteLine("BEGIN");
                sp.WriteLine("    select ");
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    sp.WriteLine("        " + (primero ? "" : ",") + inicial_tabla + ".`" + c.Nombre + "`");
                    primero = false;
                }
                sp.WriteLine("    from `" + _objTablaBE.Nombre + "` " + inicial_tabla);
                sp.WriteLine("    where");
                n_iteraciones = 0;
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (c.Es_PK)
                    {
                        sp.WriteLine("        " + inicial_tabla + ".`" + c.Nombre + "` = v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : ";"));
                        n_iteraciones++;
                    }
                }
                sp.WriteLine("END $$");
                sp.WriteLine("");
            }
        }
コード例 #7
0
        public void SQLGenerarDelete()
        {
            int n_iteraciones = 0;
            int n_pk          = (from c in _lstColumnaBE where c.Es_PK select c).Count();
            int n_no_pk       = (from c in _lstColumnaBE where !c.Es_PK select c).Count();

            using (StreamWriter sp = File.AppendText(_Ruta))
            {
                SQLGenerarHeaderSP(sp, Modo.Eliminar);
                sp.WriteLine("CREATE PROCEDURE [" + _objTablaBE.Esquema + "].[" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Delete] (");
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (c.Es_PK)
                    {
                        sp.WriteLine("    @" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (n_iteraciones != n_pk - 1 ? "," : ""));
                        n_iteraciones++;
                    }
                }
                sp.WriteLine(")");
                sp.WriteLine("AS");
                sp.WriteLine("BEGIN");
                sp.WriteLine("");
                sp.WriteLine("    SET NOCOUNT ON;");
                sp.WriteLine("");
                sp.WriteLine("    delete from [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "]");
                sp.WriteLine("    where");
                n_iteraciones = 0;
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (c.Es_PK)
                    {
                        sp.WriteLine("        [" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : ""));
                        n_iteraciones++;
                    }
                }
                sp.WriteLine("END");
                sp.WriteLine("GO");
                sp.WriteLine("");
            }
        }
コード例 #8
0
        public void SQLGenerarInsert()
        {
            int n_identity    = (from c in _lstColumnaBE where c.Es_Identity select c).Count();
            int n_no_identity = (from c in _lstColumnaBE where !c.Es_Identity select c).Count();
            int n_parameter   = (from c in _lstColumnaBE where !c.Es_Identity && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoHabilitado select c).Count();
            int n_iteraciones = 0;

            using (StreamWriter sp = File.AppendText(_Ruta))
            {
                SQLGenerarHeaderSP(sp, Modo.Insertar);

                sp.WriteLine("CREATE PROCEDURE [" + _objTablaBE.Esquema + "].[" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Insert] (");

                var creador = from c in _lstColumnaBE where c.Nombre == _CampoUsuarioCreacion select c;

                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (!c.Es_Identity && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoHabilitado)
                    {
                        if (c.Nombre != _CampoUsuarioModificacion)
                        {
                            sp.WriteLine("    @" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (c.Acepta_Nulos ? " = null" : "") + (n_iteraciones != n_parameter - 1 ? "," : ""));
                        }
                        else
                        {
                            if (creador.Count() == 0)                            //existe campo creador
                            {
                                sp.WriteLine("    @" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (c.Acepta_Nulos ? " = null" : "") + (n_iteraciones != n_parameter - 1 ? "," : ""));
                            }
                        }
                        n_iteraciones++;
                    }
                }
                sp.WriteLine(")");
                sp.WriteLine("AS");
                sp.WriteLine("BEGIN");
                sp.WriteLine("");
                sp.WriteLine("    SET NOCOUNT ON;");
                sp.WriteLine("");
                sp.WriteLine("    insert into [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "]");
                sp.WriteLine("    (");
                n_iteraciones = 0;

                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (!c.Es_Identity)
                    {
                        sp.WriteLine("        [" + c.Nombre + "]" + (n_iteraciones != n_no_identity - 1 ? "," : ""));
                        n_iteraciones++;
                    }
                }
                sp.WriteLine("    )");
                sp.WriteLine("    values");
                sp.WriteLine("    (");
                n_iteraciones = 0;
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (!c.Es_Identity)
                    {
                        if (c.Nombre == _CampoFechaCreacion || c.Nombre == _CampoFechaModificacion)
                        {
                            sp.WriteLine("        GETUTCDATE()" + (n_iteraciones != n_no_identity - 1 ? "," : ""));
                        }
                        else if (c.Nombre == _CampoHabilitado)
                        {
                            sp.WriteLine("        1" + (n_iteraciones != n_no_identity - 1 ? "," : ""));
                        }
                        else if (c.Nombre == _CampoUsuarioModificacion)
                        {
                            if (creador.Count() > 0)                            //Existe usuario creación
                            {
                                sp.WriteLine("        @" + ToolBC.StandarizarNombreParametro(_CampoUsuarioCreacion) + (n_iteraciones != n_no_identity - 1 ? "," : ""));
                            }
                            else
                            {
                                sp.WriteLine("        @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_no_identity - 1 ? "," : ""));
                            }
                        }
                        else
                        {
                            sp.WriteLine("        @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_no_identity - 1 ? "," : ""));
                        }
                        n_iteraciones++;
                    }
                }
                sp.WriteLine("    )");
                if (n_identity == 1)
                {
                    sp.WriteLine("");
                    sp.WriteLine("    select @@IDENTITY as '" + ToolBC.StandarizarNombreParametro((from c in _lstColumnaBE where c.Es_Identity select c.Nombre).ToList()[0]) + "'");
                }
                sp.WriteLine("END");
                sp.WriteLine("GO");
                sp.WriteLine("");
            }
        }
コード例 #9
0
        public void MySQLGenerarInsert()
        {
            int n_identity    = (from c in _lstColumnaBE where c.Es_Identity select c).Count();
            int n_no_identity = (from c in _lstColumnaBE where !c.Es_Identity select c).Count();
            int n_parameter   = (from c in _lstColumnaBE where !c.Es_Identity && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoHabilitado select c).Count();
            int n_iteraciones = 0;

            using (StreamWriter sp = File.AppendText(_Ruta))
            {
                MySQLGenerarHeaderSP(sp);

                sp.WriteLine("CREATE PROCEDURE `" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Insert` (");

                var creador = from c in _lstColumnaBE where c.Nombre == _CampoUsuarioCreacion select c;

                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (!c.Es_Identity && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoHabilitado)
                    {
                        if (c.Nombre != _CampoUsuarioModificacion)
                        {
                            sp.WriteLine("    in v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (n_iteraciones != n_parameter - 1 ? "," : ""));
                        }
                        else
                        {
                            if (creador.Count() == 0)                             //existe campo creador
                            {
                                sp.WriteLine("    in v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (n_iteraciones != n_parameter - 1 ? "," : ""));
                            }
                        }
                        n_iteraciones++;
                    }
                }
                sp.WriteLine(")");
                sp.WriteLine("BEGIN");
                sp.WriteLine("    insert `" + _objTablaBE.Nombre + "`");
                sp.WriteLine("    (");
                n_iteraciones = 0;

                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (!c.Es_Identity)
                    {
                        sp.WriteLine("        `" + c.Nombre + "`" + (n_iteraciones != n_no_identity - 1 ? "," : ""));
                        n_iteraciones++;
                    }
                }
                sp.WriteLine("    )");
                sp.WriteLine("    values");
                sp.WriteLine("    (");
                n_iteraciones = 0;
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (!c.Es_Identity)
                    {
                        if (c.Nombre == _CampoFechaCreacion || c.Nombre == _CampoFechaModificacion)
                        {
                            sp.WriteLine("        UTC_TIMESTAMP()" + (n_iteraciones != n_no_identity - 1 ? "," : ""));
                        }
                        else if (c.Nombre == _CampoHabilitado)
                        {
                            sp.WriteLine("        1" + (n_iteraciones != n_no_identity - 1 ? "," : ""));
                        }
                        else if (c.Nombre == _CampoUsuarioModificacion)
                        {
                            if (creador.Count() > 0)                             //Existe usuario creación
                            {
                                sp.WriteLine("        v_" + ToolBC.StandarizarNombreParametro(_CampoUsuarioCreacion) + (n_iteraciones != n_no_identity - 1 ? "," : ""));
                            }
                            else
                            {
                                sp.WriteLine("        v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_no_identity - 1 ? "," : ""));
                            }
                        }
                        else
                        {
                            sp.WriteLine("        v_" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_no_identity - 1 ? "," : ""));
                        }
                        n_iteraciones++;
                    }
                }
                sp.WriteLine("    );");
                if (n_identity == 1)
                {
                    sp.WriteLine("");
                    sp.WriteLine("    select @@IDENTITY as '" + ToolBC.StandarizarNombreParametro((from c in _lstColumnaBE where c.Es_Identity select c.Nombre).ToList()[0]) + "';");
                }
                sp.WriteLine("END $$");
                sp.WriteLine("");
            }
        }
コード例 #10
0
        public void SQLGenerarInsertUpdate()
        {
            int n_no_pk = (from c in _lstColumnaBE where !c.Es_PK select c).Count();
            int n_pk    = (from c in _lstColumnaBE where c.Es_PK select c).Count();

            if (n_no_pk != 0 && n_pk != 0)
            {
                int n_iteraciones = 0;
                int n_identity    = (from c in _lstColumnaBE where c.Es_Identity select c).Count();
                int n_no_identity = (from c in _lstColumnaBE where !c.Es_Identity select c).Count();

                using (StreamWriter sp = File.AppendText(_Ruta))
                {
                    SQLGenerarHeaderSP(sp, Modo.Insertar_Actualizar);
                    sp.WriteLine("CREATE PROCEDURE [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre_Sin_Espacios + "_Insert_Update] (");
                    foreach (ColumnaBE c in _lstColumnaBE)
                    {
                        sp.WriteLine("    @" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (c.Acepta_Nulos ? " = null" : "") + (n_iteraciones != _lstColumnaBE.Count - 1 ? "," : ""));
                        n_iteraciones++;
                    }
                    sp.WriteLine(")");
                    sp.WriteLine("AS");
                    sp.WriteLine("BEGIN");
                    sp.WriteLine("");
                    sp.WriteLine("    SET NOCOUNT ON;");
                    //sp.WriteLine("");
                    //sp.WriteLine("    declare @count int");

                    //String count_pk = "";
                    //foreach (ColumnaBE c in _lstColumnaBE)
                    //{
                    //    if (c.Es_PK)
                    //    {
                    //        count_pk += "[" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? "," : "");
                    //        n_iteraciones++;
                    //    }
                    //}

                    //sp.WriteLine("    set @count = (select count(*) from [" + _objTablaBE.Nombre + "] " + "where " + count_pk + ")");
                    //sp.WriteLine("");
                    String if_pk = "";
                    n_iteraciones = 0;
                    foreach (ColumnaBE c in _lstColumnaBE)
                    {
                        if (c.Es_PK)
                        {
                            if_pk += "@" + ToolBC.StandarizarNombreParametro(c.Nombre) + " = 0" + (n_iteraciones != n_pk - 1 ? " or " : "");
                            n_iteraciones++;
                        }
                    }
                    sp.WriteLine("");
                    sp.WriteLine("    if(" + if_pk + ")");
                    sp.WriteLine("    begin");
                    sp.WriteLine("        insert into [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "]");
                    sp.WriteLine("        (");
                    n_iteraciones = 0;
                    foreach (ColumnaBE c in _lstColumnaBE)
                    {
                        if (!c.Es_Identity)
                        {
                            sp.WriteLine("            [" + c.Nombre + "]" + (n_iteraciones != n_no_identity - 1 ? "," : ""));
                            n_iteraciones++;
                        }
                    }
                    sp.WriteLine("        )");
                    sp.WriteLine("        values");
                    sp.WriteLine("        (");
                    n_iteraciones = 0;
                    foreach (ColumnaBE c in _lstColumnaBE)
                    {
                        if (!c.Es_Identity)
                        {
                            sp.WriteLine("            @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_no_identity - 1 ? "," : ""));
                            n_iteraciones++;
                        }
                    }
                    sp.WriteLine("        )");
                    if (n_identity == 1)
                    {
                        sp.WriteLine("");
                        sp.WriteLine("        select @@IDENTITY as '" + ToolBC.StandarizarNombreParametro((from c in _lstColumnaBE where c.Es_Identity select c.Nombre).ToList()[0]) + "'");
                    }
                    sp.WriteLine("    end");
                    sp.WriteLine("    else");
                    sp.WriteLine("    begin");
                    sp.WriteLine("        update [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "]");
                    sp.WriteLine("        set");
                    n_iteraciones = 0;
                    foreach (ColumnaBE c in _lstColumnaBE)
                    {
                        if (!c.Es_PK)
                        {
                            sp.WriteLine("            [" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_no_pk - 1 ? "," : ""));
                            n_iteraciones++;
                        }
                    }
                    sp.WriteLine("        where");
                    n_iteraciones = 0;
                    foreach (ColumnaBE c in _lstColumnaBE)
                    {
                        if (c.Es_PK)
                        {
                            sp.WriteLine("            [" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : ""));
                            n_iteraciones++;
                        }
                    }
                    sp.WriteLine("");
                    if (n_identity == 1)
                    {
                        String nombre_parametro = ToolBC.StandarizarNombreParametro((from c in _lstColumnaBE where c.Es_Identity select c.Nombre).ToList()[0]);
                        sp.WriteLine("        select @" + nombre_parametro + " as '" + nombre_parametro + "'");
                    }
                    sp.WriteLine("    end");
                    sp.WriteLine("END");
                    sp.WriteLine("GO");
                    sp.WriteLine("");
                }
            }
        }
コード例 #11
0
        public void SQLGenerarUpdate()
        {
            int n_no_pk = (from c in _lstColumnaBE where !c.Es_PK select c).Count();
            int n_pk    = (from c in _lstColumnaBE where c.Es_PK select c).Count();

            if (n_no_pk != 0 && n_pk != 0)
            {
                int n_iteraciones = 0;

                using (StreamWriter sp = File.AppendText(_Ruta))
                {
                    SQLGenerarHeaderSP(sp, Modo.Actualizar);
                    sp.WriteLine("CREATE PROCEDURE [" + _objTablaBE.Esquema + "].[" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Update] (");
                    foreach (ColumnaBE c in _lstColumnaBE)
                    {
                        if (c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoUsuarioCreacion && c.Nombre != _CampoHabilitado)
                        {
                            sp.WriteLine("    @" + ToolBC.StandarizarNombreParametro(c.Nombre) + " " + ToolBC.SQLParameter(c) + (c.Acepta_Nulos ? " = null" : "") + (n_iteraciones != _lstColumnaBE.Count - 1 ? "," : ""));
                            n_iteraciones++;
                        }
                    }
                    sp.WriteLine(")");
                    sp.WriteLine("AS");
                    sp.WriteLine("BEGIN");
                    sp.WriteLine("");
                    sp.WriteLine("    SET NOCOUNT ON;");
                    sp.WriteLine("");
                    sp.WriteLine("    update [" + _objTablaBE.Esquema + "].[" + _objTablaBE.Nombre + "]");
                    sp.WriteLine("    set");
                    n_iteraciones = 0;
                    foreach (ColumnaBE c in _lstColumnaBE)
                    {
                        if (!c.Es_PK && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoUsuarioCreacion && c.Nombre != _CampoHabilitado)
                        {
                            if (c.Nombre == _CampoFechaModificacion)
                            {
                                sp.WriteLine("        [" + c.Nombre + "] = GETUTCDATE()" + (n_iteraciones != n_no_pk - 1 ? "," : ""));
                            }
                            else
                            {
                                sp.WriteLine("        [" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_no_pk - 1 ? "," : ""));
                            }
                            n_iteraciones++;
                        }
                    }
                    sp.WriteLine("    where");
                    n_iteraciones = 0;
                    foreach (ColumnaBE c in _lstColumnaBE)
                    {
                        if (c.Es_PK)
                        {
                            sp.WriteLine("        [" + c.Nombre + "] = @" + ToolBC.StandarizarNombreParametro(c.Nombre) + (n_iteraciones != n_pk - 1 ? " and " : ""));
                            n_iteraciones++;
                        }
                    }
                    sp.WriteLine("END");
                    sp.WriteLine("GO");
                    sp.WriteLine("");
                }
            }
        }
コード例 #12
0
        private void KeyParameters(StreamWriter dalc)
        {
            string parameter        = GetTipoParamenter();
            string prefijoParametro = GetPrefijoParametro();
            int    index            = 0;

            foreach (ColumnaBE c in _lstColumnaBE)
            {
                if (c.Es_PK)
                {
                    dalc.WriteLine("                        arrParameters[" + index.ToString() + "] = new " + parameter + "(\"" + prefijoParametro + ToolBC.StandarizarNombreParametro(c.Nombre) + "\", " + ToolBC.StandarizarNombreParametro(c.Nombre) + ");");
                    index++;
                }
            }
        }
コード例 #13
0
        public void SQLGenerarInsertUpdate()
        {
            int n_no_pk = (from c in _lstColumnaBE where !c.Es_PK select c).Count();
            int n_pk    = (from c in _lstColumnaBE where c.Es_PK select c).Count();

            if (n_no_pk != 0 && n_pk != 0)
            {
                StreamWriter dalc = File.AppendText(_Ruta);

                int n_identity = (from c in _lstColumnaBE where c.Es_Identity select c).Count();

                dalc.WriteLine("        public " + (n_identity == 1 ? "int" : "void") + " Insert_Update_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "(" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE)");
                dalc.WriteLine("        {");
                dalc.WriteLine("            String cadena;");
                dalc.WriteLine("            String sql = \"" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Insert_Update\";");
                if (n_identity == 1)
                {
                    dalc.WriteLine("            int codigo = 0;");
                }
                dalc.WriteLine("            SqlParameter[] arrParameters = new SqlParameter[" + _lstColumnaBE.Count + "];");
                dalc.WriteLine("");
                dalc.WriteLine("            try");
                dalc.WriteLine("            {");
                dalc.WriteLine("                cadena = " + (_Tool ? ToolGenBC.GetNombreFuncion() : ToolGenBC.GetCadenaConexion(_Tag)));
                dalc.WriteLine("");
                dalc.WriteLine("                using(SqlConnection conn = new SqlConnection(cadena))");
                dalc.WriteLine("                {");
                dalc.WriteLine("                    using(SqlCommand cmd = conn.CreateCommand())");
                dalc.WriteLine("                    {");
                dalc.WriteLine("                        cmd.CommandText = sql;");
                dalc.WriteLine("                        cmd.CommandType = CommandType.StoredProcedure;");
                dalc.WriteLine("");

                int index = 0;

                String identity = "";
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    dalc.WriteLine("                        arrParameters[" + index.ToString() + "] = new SqlParameter(\"@" + ToolBC.StandarizarNombreParametro(c.Nombre) + "\", obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE." + ToolBC.StandarizarNombreClase(c.Nombre) + ");");
                    index++;
                    if (c.Es_Identity)
                    {
                        identity = c.Nombre;
                    }
                }

                dalc.WriteLine("");
                dalc.WriteLine("                        for (int i = 0; i < arrParameters.Length; i++)");
                dalc.WriteLine("                            cmd.Parameters.Add(arrParameters[i]);");
                dalc.WriteLine("");
                dalc.WriteLine("                        cmd.Connection.Open();");
                if (n_identity == 1)
                {
                    dalc.WriteLine("                        codigo = Convert.ToInt32(cmd.ExecuteScalar());");
                }
                else
                {
                    dalc.WriteLine("                        cmd.ExecuteNonQuery();");
                }
                dalc.WriteLine("                    }");
                dalc.WriteLine("                }");
                dalc.WriteLine("");
                if (n_identity == 1)
                {
                    dalc.WriteLine("                return codigo;");
                }
                dalc.WriteLine("            }");
                dalc.WriteLine("            catch(Exception)");
                dalc.WriteLine("            {");
                dalc.WriteLine("                throw;");
                dalc.WriteLine("            }");
                dalc.WriteLine("        }");
                dalc.WriteLine("");
                dalc.Close();
            }
        }
コード例 #14
0
        public void GenerarUpdate()
        {
            int n_parametros = (from c in _lstColumnaBE where !c.Es_PK && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoUsuarioCreacion && c.Nombre != _CampoHabilitado select c).Count();
            int n_pk         = (from c in _lstColumnaBE where c.Es_PK select c).Count();

            if (n_parametros != 0 && n_pk != 0)
            {
                string connection       = GetTipoConnection();
                string parameter        = GetTipoParamenter();
                string command          = GetTipoCommand();
                string prefijoParametro = GetPrefijoParametro();

                StreamWriter dalc = File.AppendText(_Ruta);

                dalc.WriteLine("        public void Update_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "(" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE)");
                dalc.WriteLine("        {");
                dalc.WriteLine("            String cadena;");
                dalc.WriteLine("            String sql = \"" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Update\";");
                dalc.WriteLine("            " + parameter + "[] arrParameters = new " + parameter + "[" + (n_parametros + n_pk) + "];");
                dalc.WriteLine("");
                dalc.WriteLine("            try");
                dalc.WriteLine("            {");
                dalc.WriteLine("                cadena = " + (_Tool ? ToolGenBC.GetNombreFuncion() : ToolGenBC.GetCadenaConexion(_Tag)));
                dalc.WriteLine("");
                dalc.WriteLine("                using(" + connection + " conn = new " + connection + "(cadena))");
                dalc.WriteLine("                {");
                dalc.WriteLine("                    using(" + command + " cmd = conn.CreateCommand())");
                dalc.WriteLine("                    {");
                dalc.WriteLine("                        cmd.CommandText = sql;");
                dalc.WriteLine("                        cmd.CommandType = CommandType.StoredProcedure;");
                dalc.WriteLine("");

                int index = 0;
                foreach (ColumnaBE c in _lstColumnaBE)
                {
                    if (c.Nombre != _CampoUsuarioCreacion && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoHabilitado)
                    {
                        dalc.WriteLine("                        arrParameters[" + index.ToString() + "] = new " + parameter + "(\"" + prefijoParametro + ToolBC.StandarizarNombreParametro(c.Nombre) + "\", obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE." + ToolBC.StandarizarNombreClase(c.Nombre) + ");");
                        index++;
                    }
                }

                dalc.WriteLine("");
                dalc.WriteLine("                        for (int i = 0; i < arrParameters.Length; i++)");
                dalc.WriteLine("                            cmd.Parameters.Add(arrParameters[i]);");
                dalc.WriteLine("");
                dalc.WriteLine("                        cmd.Connection.Open();");
                dalc.WriteLine("                        cmd.ExecuteNonQuery();");
                dalc.WriteLine("                    }");
                dalc.WriteLine("                }");
                dalc.WriteLine("            }");
                dalc.WriteLine("            catch(Exception)");
                dalc.WriteLine("            {");
                dalc.WriteLine("                throw;");
                dalc.WriteLine("            }");
                dalc.WriteLine("        }");
                dalc.WriteLine("");
                dalc.Close();
            }
        }
コード例 #15
0
        public void GenerarInsert()
        {
            string connection       = GetTipoConnection();
            string parameter        = GetTipoParamenter();
            string command          = GetTipoCommand();
            string prefijoParametro = GetPrefijoParametro();

            StreamWriter dalc = File.AppendText(_Ruta);

            int n_creador     = (from c in _lstColumnaBE where c.Nombre == _CampoUsuarioCreacion select c).Count();
            int n_modificador = (from c in _lstColumnaBE where c.Nombre == _CampoUsuarioModificacion select c).Count();
            int n_parametros  = (from c in _lstColumnaBE where !c.Es_Identity && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoHabilitado select c).Count();
            int n_identity    = (from c in _lstColumnaBE where c.Es_Identity select c).Count();

            if (n_creador == 1 && n_modificador == 1)
            {
                n_parametros--;
            }

            dalc.WriteLine("        public " + (n_identity == 1 ? "int" : "void") + " Insert_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "(" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE)");
            dalc.WriteLine("        {");
            dalc.WriteLine("            String cadena;");
            dalc.WriteLine("            String sql = \"" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Insert\";");
            dalc.WriteLine("            " + parameter + "[] arrParameters = new " + parameter + "[" + n_parametros.ToString() + "];");
            if (n_identity == 1)
            {
                dalc.WriteLine("            int codigo = 0;");
            }
            dalc.WriteLine("");
            dalc.WriteLine("            try");
            dalc.WriteLine("            {");
            dalc.WriteLine("                cadena = " + (_Tool ? ToolGenBC.GetNombreFuncion() : ToolGenBC.GetCadenaConexion(_Tag)));
            dalc.WriteLine("");
            dalc.WriteLine("                using(" + connection + " conn = new " + connection + "(cadena))");
            dalc.WriteLine("                {");
            dalc.WriteLine("                    using(" + command + " cmd = conn.CreateCommand())");
            dalc.WriteLine("                    {");
            dalc.WriteLine("                        cmd.CommandText = sql;");
            dalc.WriteLine("                        cmd.CommandType = CommandType.StoredProcedure;");
            dalc.WriteLine("");

            int index = 0;

            foreach (ColumnaBE c in _lstColumnaBE)
            {
                if (!c.Es_Identity && c.Nombre != _CampoFechaCreacion && c.Nombre != _CampoFechaModificacion && c.Nombre != _CampoHabilitado)
                {
                    if (c.Nombre == _CampoUsuarioModificacion)
                    {
                        if (!(n_creador == 1 && n_modificador == 1))
                        {
                            dalc.WriteLine("                        arrParameters[" + index.ToString() + "] = new " + parameter + "(\"" + prefijoParametro + ToolBC.StandarizarNombreParametro(c.Nombre) + "\", obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE." + ToolBC.StandarizarNombreClase(c.Nombre) + ");");
                            index++;
                        }
                    }
                    else
                    {
                        dalc.WriteLine("                        arrParameters[" + index.ToString() + "] = new " + parameter + "(\"" + prefijoParametro + ToolBC.StandarizarNombreParametro(c.Nombre) + "\", obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE." + ToolBC.StandarizarNombreClase(c.Nombre) + ");");
                        index++;
                    }
                }
            }

            dalc.WriteLine("");
            dalc.WriteLine("                        for (int i = 0; i < arrParameters.Length; i++)");
            dalc.WriteLine("                            cmd.Parameters.Add(arrParameters[i]);");
            dalc.WriteLine("");
            dalc.WriteLine("                        cmd.Connection.Open();");
            dalc.WriteLine("");
            if (n_identity == 1)
            {
                dalc.WriteLine("                        codigo = Convert.ToInt32(cmd.ExecuteScalar());");
            }
            else
            {
                dalc.WriteLine("                        cmd.ExecuteNonQuery();");
            }
            dalc.WriteLine("                    }");
            dalc.WriteLine("                }");
            dalc.WriteLine("");
            if (n_identity == 1)
            {
                dalc.WriteLine("                return codigo;");
            }
            dalc.WriteLine("            }");
            dalc.WriteLine("            catch(Exception)");
            dalc.WriteLine("            {");
            dalc.WriteLine("                throw;");
            dalc.WriteLine("            }");
            dalc.WriteLine("        }");
            dalc.WriteLine("");
            dalc.Close();
        }