Пример #1
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("");
            }
        }
Пример #2
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("");
            }
        }
Пример #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 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("");
            }
        }
Пример #6
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("");
                }
            }
        }
Пример #7
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("");
                }
            }
        }