예제 #1
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("");
            }
        }
예제 #2
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("");
            }
        }
예제 #3
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("");
            }
        }
예제 #4
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("");
                }
            }
        }