예제 #1
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();
            }
        }
예제 #2
0
        public void GenerarHeader(String nsDALC, String nsBE, String nsHelper)
        {
            StreamWriter dalc = File.AppendText(_Ruta);

            dalc.WriteLine("using System;");
            dalc.WriteLine("using System.Collections.Generic;");
            dalc.WriteLine("using System.Linq;");
            dalc.WriteLine("using System.Text;");
            dalc.WriteLine("using System.Data;");

            switch (_DataSource)
            {
            case (int)DataSource.SQLServer:
                dalc.WriteLine("using System.Data.SqlClient;");
                break;

            case (int)DataSource.MySQL:
                dalc.WriteLine("using MySql.Data.MySqlClient;");
                break;
            }
            dalc.WriteLine("using " + nsBE + ";");
            dalc.WriteLine("using " + nsHelper + ";");

            dalc.WriteLine("");
            dalc.WriteLine("namespace " + nsDALC);
            dalc.WriteLine("{");
            dalc.WriteLine("    public class " + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "DALC");
            dalc.WriteLine("    {");
            dalc.Close();
        }
예제 #3
0
        public void GenerarUpdate()
        {
            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 bc = File.AppendText(_Ruta);

                try
                {
                    bc.WriteLine("        public void Update_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "(" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE)");
                    bc.WriteLine("        {");
                    bc.WriteLine("            try");
                    bc.WriteLine("            {");
                    bc.WriteLine("                obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "DALC.Update_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "(obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE);");
                    bc.WriteLine("            }");
                    bc.WriteLine("            catch(Exception)");
                    bc.WriteLine("            {");
                    bc.WriteLine("                throw;");
                    bc.WriteLine("            }");
                    bc.WriteLine("        }");
                    bc.WriteLine("");

                    bc.Close();
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
예제 #4
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("");
            }
        }
예제 #5
0
        public void GenerarGet()
        {
            StreamWriter bc = File.AppendText(_Ruta);

            try
            {
                bc.WriteLine("        public " + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE Get_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "(" + ToolBC.KeyParameters(_lstColumnaBE, _DataSource) + ")");
                bc.WriteLine("        {");
                bc.WriteLine("            try");
                bc.WriteLine("            {");
                bc.WriteLine("                return obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "DALC.Get_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "(" + ToolBC.KeyVariables(_lstColumnaBE) + ");");
                bc.WriteLine("            }");
                bc.WriteLine("            catch(Exception)");
                bc.WriteLine("            {");
                bc.WriteLine("                throw;");
                bc.WriteLine("            }");
                bc.WriteLine("        }");
                bc.WriteLine("");

                bc.Close();
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #6
0
        public void GenerarChangeState()
        {
            try
            {
                int n_activo = (from c in _lstColumnaBE where c.Nombre == _CampoHabilitado select c).Count();

                if (n_activo > 0)
                {
                    int          n_habilitado = (from c in _lstColumnaBE where c.Nombre == _CampoHabilitado select c).Count();
                    StreamWriter bc           = File.AppendText(_Ruta);

                    bc.WriteLine("        public void Change_State_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "(" + ToolBC.KeyParameters(_lstColumnaBE, _DataSource) + ")");
                    bc.WriteLine("        {");
                    bc.WriteLine("            try");
                    bc.WriteLine("            {");
                    bc.WriteLine("                obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "DALC.Change_State_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "(" + ToolBC.KeyVariables(_lstColumnaBE) + ");");
                    bc.WriteLine("            }");
                    bc.WriteLine("            catch(Exception)");
                    bc.WriteLine("            {");
                    bc.WriteLine("                throw;");
                    bc.WriteLine("            }");
                    bc.WriteLine("        }");
                    bc.WriteLine("");

                    bc.Close();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #7
0
        public void SQLGenerarSelect()
        {
            String inicial_tabla = _objTablaBE.Nombre.First().ToString().ToLower();
            bool   primero       = true;

            using (StreamWriter sp = File.AppendText(_Ruta))
            {
                SQLGenerarHeaderSP(sp, Modo.Seleccionar);
                sp.WriteLine("CREATE PROCEDURE [" + _objTablaBE.Esquema + "].[" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Select]");
                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("END");
                sp.WriteLine("GO");
                sp.WriteLine("");
            }
        }
예제 #8
0
        public void GenerarSelect()
        {
            StreamWriter bc = File.AppendText(_Ruta);

            try
            {
                bc.WriteLine("        public List<" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE> Select_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "()");
                bc.WriteLine("        {");
                bc.WriteLine("            try");
                bc.WriteLine("            {");
                bc.WriteLine("                return obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "DALC.Select_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "();");
                bc.WriteLine("            }");
                bc.WriteLine("            catch(Exception)");
                bc.WriteLine("            {");
                bc.WriteLine("                throw;");
                bc.WriteLine("            }");
                bc.WriteLine("        }");
                bc.WriteLine("");

                bc.Close();
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #9
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("");
                }
            }
        }
예제 #10
0
        public void GenerarGet()
        {
            string connection = GetTipoConnection();
            string parameter  = GetTipoParamenter();
            string command    = GetTipoCommand();
            string datareader = GetTipoDataReader();

            StreamWriter dalc = File.AppendText(_Ruta);

            int n_key = (from c in _lstColumnaBE where c.Es_PK select c).Count();

            dalc.WriteLine("        public " + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE Get_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "(" + ToolBC.KeyParameters(_lstColumnaBE, _DataSource) + ")");
            dalc.WriteLine("        {");
            dalc.WriteLine("            String cadena;");
            dalc.WriteLine("            String sql = \"" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Get\";");
            dalc.WriteLine("            " + parameter + "[] arrParameters = new " + parameter + "[" + n_key + "];");
            dalc.WriteLine("            " + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE = null;");
            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("");
            KeyParameters(dalc);
            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("");
            dalc.WriteLine("                        using(" + datareader + " dr = cmd.ExecuteReader())");
            dalc.WriteLine("                        {");
            dalc.WriteLine("                            while(dr.Read())");
            dalc.WriteLine("                            {");
            dalc.WriteLine("                                obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE = new " + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE();");
            ClassFromDR(dalc);
            dalc.WriteLine("                            }");
            dalc.WriteLine("                        }");
            dalc.WriteLine("                    }");
            dalc.WriteLine("                }");
            dalc.WriteLine("                return obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE;");
            dalc.WriteLine("            }");
            dalc.WriteLine("            catch(Exception)");
            dalc.WriteLine("            {");
            dalc.WriteLine("                throw;");
            dalc.WriteLine("            }");
            dalc.WriteLine("        }");
            dalc.WriteLine("");

            dalc.Close();
        }
예제 #11
0
        public void GenerarConstructorBase()
        {
            StreamWriter be = File.AppendText(_Ruta);

            be.WriteLine("    public " + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE()");
            be.WriteLine("    { }");

            be.Close();
        }
예제 #12
0
        public void GenerarSelect()
        {
            string connection = GetTipoConnection();
            string command    = GetTipoCommand();
            string datareader = GetTipoDataReader();

            StreamWriter dalc = File.AppendText(_Ruta);

            dalc.WriteLine("        public List<" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE> Select_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "()");
            dalc.WriteLine("        {");
            dalc.WriteLine("            String cadena;");
            dalc.WriteLine("            String sql = \"" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Select\";");
            dalc.WriteLine("            " + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE = null;");
            dalc.WriteLine("            List<" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE> lst" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE = null;");
            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("");
            dalc.WriteLine("                        cmd.Connection.Open();");
            dalc.WriteLine("");
            dalc.WriteLine("                        using(" + datareader + " dr = cmd.ExecuteReader())");
            dalc.WriteLine("                        {");
            dalc.WriteLine("                            while(dr.Read())");
            dalc.WriteLine("                            {");
            dalc.WriteLine("                                if(lst" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE == null)");
            dalc.WriteLine("                                    lst" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE = new List<" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE>();");
            dalc.WriteLine("");
            dalc.WriteLine("                                obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE = new " + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE();");
            ClassFromDR(dalc);
            dalc.WriteLine("");
            dalc.WriteLine("                                lst" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE.Add(obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE);");
            dalc.WriteLine("                            }");
            dalc.WriteLine("                        }");
            dalc.WriteLine("                    }");
            dalc.WriteLine("                }");
            dalc.WriteLine("");
            dalc.WriteLine("                return lst" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE;");
            dalc.WriteLine("            }");
            dalc.WriteLine("            catch(Exception)");
            dalc.WriteLine("            {");
            dalc.WriteLine("                throw;");
            dalc.WriteLine("            }");
            dalc.WriteLine("        }");
            dalc.WriteLine("");

            dalc.Close();
        }
예제 #13
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("");
            }
        }
예제 #14
0
        public void GenerarChangeState()
        {
            int n_activo = (from c in _lstColumnaBE where c.Nombre == _CampoHabilitado select c).Count();

            if (n_activo > 0)
            {
                string connection = GetTipoConnection();
                string parameter  = GetTipoParamenter();
                string command    = GetTipoCommand();

                StreamWriter dalc = File.AppendText(_Ruta);

                int n_key = (from c in _lstColumnaBE where c.Es_PK select c).Count();

                dalc.WriteLine("        public void Change_State_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "(" + ToolBC.KeyParameters(_lstColumnaBE, _DataSource) + ")");
                dalc.WriteLine("        {");
                dalc.WriteLine("            String cadena;");
                dalc.WriteLine("            String sql = \"" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Change_State\";");
                dalc.WriteLine("            " + parameter + "[] arrParameters = new " + parameter + "[" + n_key + "];");
                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("");
                KeyParameters(dalc);
                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 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("");
            }
        }
예제 #16
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("");
            }
        }
예제 #17
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("");
            }
        }
예제 #18
0
        public void GenerarHeader(String nsBC, String nsDALC, String nsBE)
        {
            StreamWriter bc = File.AppendText(_Ruta);

            bc.WriteLine("using System;");
            bc.WriteLine("using System.Collections.Generic;");
            bc.WriteLine("using System.Linq;");
            bc.WriteLine("using System.Text;");
            bc.WriteLine("using " + nsDALC + ";");
            bc.WriteLine("using " + nsBE + ";");

            bc.WriteLine("");
            bc.WriteLine("namespace " + nsBC);
            bc.WriteLine("{");
            bc.WriteLine("    public class " + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BC");
            bc.WriteLine("    {");
            bc.WriteLine("        " + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "DALC obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "DALC = new " + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "DALC();");
            bc.WriteLine("");

            bc.Close();
        }
예제 #19
0
        public void MySQLGenerarSelect()
        {
            String inicial_tabla = _objTablaBE.Nombre.First().ToString().ToLower();
            bool   primero       = true;

            using (StreamWriter sp = File.AppendText(_Ruta))
            {
                MySQLGenerarHeaderSP(sp);
                sp.WriteLine("CREATE PROCEDURE `" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "_Select`()");
                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("END $$");
                sp.WriteLine("");
            }
        }
예제 #20
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("");
            }
        }
예제 #21
0
        public void GenerarClase()
        {
            StreamWriter be = File.AppendText(_Ruta);

            be.WriteLine("    public class " + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE");
            be.WriteLine("    {");
            foreach (ColumnaBE c in _lstColumnaBE)
            {
                switch (_DataSource)
                {
                case (int)DataSource.SQLServer:
                    be.WriteLine("        public " + ToolBC.TypeFromSQL(c.Tipo_Dato) + (c.Acepta_Nulos && !ToolBC.ClaseNull(ToolBC.TypeFromSQL(c.Tipo_Dato)) ? "?" : "") + " " + ToolBC.StandarizarNombreClase(c.Nombre) + " { get; set; }");
                    break;

                case (int)DataSource.MySQL:
                    be.WriteLine("        public " + ToolBC.TypeFromMySQL(c.Tipo_Dato) + (c.Acepta_Nulos && !ToolBC.ClaseNull(ToolBC.TypeFromMySQL(c.Tipo_Dato)) ? "?" : "") + " " + ToolBC.StandarizarNombreClase(c.Nombre) + " { get; set; }");
                    break;
                }
            }
            be.WriteLine("    }");

            be.Close();
        }
예제 #22
0
        private void MySQLClassFromDR(StreamWriter dalc)
        {
            foreach (ColumnaBE c in _lstColumnaBE)
            {
                if (!c.Acepta_Nulos)
                {
                    if (c.Nombre == _CampoFechaCreacion || c.Nombre == _CampoFechaModificacion)
                    {
                        dalc.WriteLine("                                obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE." + ToolBC.StandarizarNombreClase(c.Nombre) + " = HelperTools.UtcToLocal(" + ToolBC.ConvertFromMySQL(c.Tipo_Dato, c.Nombre) + ");");
                    }
                    else
                    {
                        dalc.WriteLine("                                obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE." + ToolBC.StandarizarNombreClase(c.Nombre) + " = " + ToolBC.ConvertFromMySQL(c.Tipo_Dato, c.Nombre) + ";");
                    }
                }
                else
                {
                    switch (ToolBC.TypeFromMySQL(c.Tipo_Dato))
                    {
                    case "object":
                        dalc.WriteLine("                                obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE." + ToolBC.StandarizarNombreClase(c.Nombre) + " = dr[\"" + c.Nombre + "\"] != DBNull.Value ? (" + ToolBC.TypeFromMySQL(c.Tipo_Dato) + "?)dr[\"" + c.Nombre + "\"]" + " : null;");
                        break;

                    default:
                        if (c.Nombre == _CampoFechaCreacion || c.Nombre == _CampoFechaModificacion)
                        {
                            dalc.WriteLine("                                obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE." + ToolBC.StandarizarNombreClase(c.Nombre) + " = HelperTools.UtcToLocal(" + ToolBC.ConvertFromMySQLNULL(c.Tipo_Dato, c.Nombre) + ");");
                        }
                        else
                        {
                            dalc.WriteLine("                                obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE." + ToolBC.StandarizarNombreClase(c.Nombre) + " = " + ToolBC.ConvertFromMySQLNULL(c.Tipo_Dato, c.Nombre) + ";");
                        }
                        break;
                    }
                }
            }
        }
예제 #23
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("");
            }
        }
예제 #24
0
        public void GenerarInsert()
        {
            StreamWriter bc = File.AppendText(_Ruta);

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

                bc.WriteLine("        public " + (n_identity == 1 ? "int" : "void") + " Insert_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "(" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE)");
                bc.WriteLine("        {");
                bc.WriteLine("            try");
                bc.WriteLine("            {");
                bc.WriteLine("                " + (n_identity == 1 ? "return " : "") + "obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "DALC.Insert_" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "(obj" + ToolBC.StandarizarNombreClase(_objTablaBE.Nombre) + "BE);");
                bc.WriteLine("            }");
                bc.WriteLine("            catch(Exception)");
                bc.WriteLine("            {");
                bc.WriteLine("                throw;");
                bc.WriteLine("            }");
                bc.WriteLine("        }");
                bc.WriteLine("");

                bc.Close();
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #25
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();
        }
예제 #26
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();
            }
        }
예제 #27
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++;
                }
            }
        }
예제 #28
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("");
            }
        }
예제 #29
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("");
                }
            }
        }
예제 #30
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("");
                }
            }
        }