示例#1
0
        public List <String> Select_MySQL_Databases(ConexionBE objConexionBE)
        {
            MySqlCommand    command   = new MySqlCommand();
            List <String>   lstTables = new List <String>();
            MySqlDataReader dr        = null;

            try
            {
                MySqlConnection SqlCon = new MySqlConnection(ConnectionString.GetMySQLServer(objConexionBE));
                SqlCon.Open();

                command.Connection  = SqlCon;
                command.CommandType = CommandType.Text;
                command.CommandText = "SELECT SCHEMA_NAME AS 'Database' FROM INFORMATION_SCHEMA.SCHEMATA";

                dr = command.ExecuteReader();

                while (dr.Read())
                {
                    lstTables.Add(dr.GetString(0));
                }

                return(lstTables);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                command.Dispose();
                dr.Close();
                dr.Dispose();
            }
        }
示例#2
0
        public List <String> Select_SQL_Databases(ConexionBE objConexionBE)
        {
            SqlCommand    command   = new SqlCommand();
            List <String> lstTables = new List <String>();
            SqlDataReader dr        = null;

            try
            {
                SqlConnection SqlCon = new SqlConnection(ConnectionString.GetSQLServer(objConexionBE));
                SqlCon.Open();

                command.Connection  = SqlCon;
                command.CommandType = CommandType.StoredProcedure;
                command.CommandText = "sp_databases";

                dr = command.ExecuteReader();

                while (dr.Read())
                {
                    lstTables.Add(dr.GetString(0));
                }

                return(lstTables);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                command.Dispose();
                dr.Close();
                dr.Dispose();
            }
        }
        public static String GetMySQLServer(ConexionBE objConexionBE)
        {
            //return "Server=dellcai;Database=taproyectos;Uid=root;Pwd=root;"
            String cadena = "server=" + objConexionBE.Server + ";" +
                            (!String.IsNullOrEmpty(objConexionBE.DataBase) ? "Database=" + objConexionBE.DataBase + ";" : "") +
                            (!String.IsNullOrEmpty(objConexionBE.User) ? "uid=" + objConexionBE.User + ";pwd=" + objConexionBE.Password + ";" : "");

            return(@cadena);
        }
        public static String GetSQLServer(ConexionBE objConexionBE)
        {
            //return "Server=SergioTA;Database=taproyecto;Uid=root;Pwd=root;"
            String cadena = "server=" + objConexionBE.Server + ";" +
                            (!String.IsNullOrEmpty(objConexionBE.DataBase) ? "Database=" + objConexionBE.DataBase + ";" : "") +
                            (!String.IsNullOrEmpty(objConexionBE.User) ? "uid=" + objConexionBE.User + ";pwd=" + objConexionBE.Password + ";" : "Integrated Security=true;");

            return(@cadena);
        }
示例#5
0
        public List <ColumnaBE> Select_SQL_Columna(ConexionBE objConexionBE, TablaBE objTablaBE)
        {
            List <ColumnaBE> lstColumnaBE = new List <ColumnaBE>();
            SqlCommand       command      = new SqlCommand();
            ColumnaBE        objColumnaBE = new ColumnaBE();
            SqlDataReader    dr           = null;

            try
            {
                SqlConnection SqlCon = new SqlConnection(ConnectionString.GetSQLServer(objConexionBE));
                SqlCon.Open();

                command.Connection  = SqlCon;
                command.CommandType = CommandType.Text;
                command.CommandText = "SELECT distinct c.COLUMN_NAME, " +
                                      "c.IS_NULLABLE, " +
                                      "c.DATA_TYPE, " +
                                      "case when (select COUNT(k.COLUMN_NAME) from INFORMATION_SCHEMA.KEY_COLUMN_USAGE k left join INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc on k.CONSTRAINT_NAME = tc.CONSTRAINT_NAME AND k.TABLE_NAME = tc.TABLE_NAME where tc.CONSTRAINT_TYPE = 'PRIMARY KEY' and k.TABLE_NAME = c.TABLE_NAME and k.COLUMN_NAME = c.COLUMN_NAME) > 0 then 'YES' else 'NO' end 'IS_PK', " +
                                      "case when columnproperty(object_id(c.table_name), c.column_name,'IsIdentity') = 1 then 'YES' else 'NO' end 'IS_IDENTITY', " +
                                      "c.CHARACTER_MAXIMUM_LENGTH, " +
                                      "c.NUMERIC_PRECISION, " +
                                      "c.NUMERIC_SCALE " +
                                      "FROM INFORMATION_SCHEMA.COLUMNS c " +
                                      "where c.TABLE_NAME = '" + objTablaBE.Nombre + "' and c.TABLE_SCHEMA = '" + objTablaBE.Esquema + "'";

                dr = command.ExecuteReader();

                while (dr.Read())
                {
                    objColumnaBE                         = new ColumnaBE();
                    objColumnaBE.Nombre                  = dr["COLUMN_NAME"].ToString();
                    objColumnaBE.Acepta_Nulos            = dr["IS_NULLABLE"].ToString().Equals("NO") ? false : true;
                    objColumnaBE.Tipo_Dato               = dr["DATA_TYPE"].ToString();
                    objColumnaBE.Es_PK                   = dr["IS_PK"].ToString().Equals("NO") ? false : true;
                    objColumnaBE.Es_Identity             = dr["IS_IDENTITY"].ToString().Equals("NO") ? false : true;
                    objColumnaBE.Tamano_Maximo           = dr["CHARACTER_MAXIMUM_LENGTH"] != DBNull.Value ? Convert.ToInt32(dr["CHARACTER_MAXIMUM_LENGTH"]) : -1;
                    objColumnaBE.Precision_Numerica      = dr["NUMERIC_PRECISION"] != DBNull.Value ? Convert.ToInt32(dr["NUMERIC_PRECISION"]) : -1;
                    objColumnaBE.Precision_Numerica_Base = dr["NUMERIC_SCALE"] != DBNull.Value ? Convert.ToInt32(dr["NUMERIC_SCALE"]) : -1;
                    lstColumnaBE.Add(objColumnaBE);
                }

                return(lstColumnaBE);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                command.Dispose();
                dr.Close();
                dr.Dispose();
            }
        }
示例#6
0
 public List <ColumnaBE> Select_MySQL_Columna(ConexionBE objConexionBE, TablaBE objTablaBE)
 {
     try
     {
         return(objSystemDALC.Select_MySQL_Columna(objConexionBE, objTablaBE));
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#7
0
 public List <TablaBE> Select_MySQL_Table(ConexionBE objConexionBE)
 {
     try
     {
         return(objSystemDALC.Select_MySQL_Table(objConexionBE));
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#8
0
 public List <String> Select_MySQL_Databases(ConexionBE objConexionBE)
 {
     try
     {
         return(objSystemDALC.Select_MySQL_Databases(objConexionBE));
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#9
0
        private ConexionBE ObtenerConexion()
        {
            frmAccesoBD objfrmAccesoBD = frmAccesoBD.GetInstance();

            ConexionBE objConexionBE = new ConexionBE();

            objConexionBE.Server     = objfrmAccesoBD._Server;
            objConexionBE.DataBase   = objfrmAccesoBD._BD;
            objConexionBE.User       = objfrmAccesoBD._Usuario;
            objConexionBE.Password   = objfrmAccesoBD._Contrasena;
            objConexionBE.DataSource = objfrmAccesoBD._DataSource;

            return(objConexionBE);
        }
示例#10
0
        private void btnTest_Click(object sender, EventArgs e)
        {
            List <String> lstBD         = new List <String>();
            SystemBC      objSystemBC   = new SystemBC();
            ConexionBE    objConexionBE = new ConexionBE();

            objConexionBE.Server   = cmbServer.Text;
            objConexionBE.User     = txtUsuario.Text;
            objConexionBE.Password = txtContrasena.Text;

            try
            {
                if (ValidarTest())
                {
                    switch (Convert.ToInt32(cmbDataSource.SelectedValue))
                    {
                    case (int)DataSource.SQLServer:
                        lstBD = objSystemBC.Select_SQL_Databases(objConexionBE);
                        break;

                    case (int)DataSource.MySQL:
                        lstBD = objSystemBC.Select_MySQL_Databases(objConexionBE);
                        break;
                    }

                    cmbBD.DataSource = lstBD;
                    //cmbDataSource.ValueMember = "Key";
                    //cmbDataSource.DisplayMember = "Value";

                    HabilitarBD(true);

                    MessageBox.Show("Conexión exitosa", "Probar Conexión", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Por favor, complete todo los campos solicitados.", "Probar Conexión", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Lo sentimos, ha ocurrido un error al conectarse con la base de datos. Revise los parámetros de conexión.", "Probar Conexión", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //throw;
            }
        }
示例#11
0
        public List <TablaBE> Select_SQL_Table(ConexionBE objConexionBE)
        {
            SqlCommand     command    = new SqlCommand();
            List <TablaBE> lstTablaBE = new List <TablaBE>();
            TablaBE        objTablaBE = new TablaBE();
            SqlDataReader  dr         = null;

            try
            {
                SqlConnection SqlCon = new SqlConnection(ConnectionString.GetSQLServer(objConexionBE));
                SqlCon.Open();

                command.Connection  = SqlCon;
                command.CommandType = CommandType.Text;
                command.CommandText = "Select distinct TABLE_NAME, TABLE_SCHEMA From INFORMATION_SCHEMA.Tables where TABLE_TYPE = 'BASE TABLE'";

                dr = command.ExecuteReader();

                while (dr.Read())
                {
                    objTablaBE                     = new TablaBE();
                    objTablaBE.Nombre              = dr["TABLE_NAME"].ToString();
                    objTablaBE.Esquema             = dr["TABLE_SCHEMA"].ToString();
                    objTablaBE.Nombre_Sin_Espacios = dr["TABLE_NAME"].ToString().Replace(" ", "_");
                    lstTablaBE.Add(objTablaBE);
                }

                return(lstTablaBE);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                command.Dispose();
                dr.Close();
                dr.Dispose();
            }
        }
示例#12
0
        private void btnGenerar_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtPreNamespace.Text.Trim()) && !string.IsNullOrEmpty(txtCSTag.Text.Trim()))
            {
                DialogResult result = fbdFileOutpot.ShowDialog();

                if (result == System.Windows.Forms.DialogResult.OK)
                {
                    String     ruta          = fbdFileOutpot.SelectedPath;
                    SystemBC   objSystemBC   = new SystemBC();
                    ConexionBE objConexionBE = ObtenerConexion();
                    ToolGenBC  objToolBC     = new ToolGenBC();

                    //frmAccesoBD objfrmAccesoBD = frmAccesoBD.GetInstance();

                    String dir    = ruta;
                    String dir_bd = dir + "/" + objConexionBE.DataBase + "_CRUD_" + DateTime.Now.Day + DateTime.Now.Month + DateTime.Now.Year + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second;
                    Directory.CreateDirectory(dir_bd);

                    String dir_dalc   = dir_bd + "/DALC";
                    String dir_bc     = dir_bd + "/BC";
                    String dir_be     = dir_bd + "/BE";
                    String dir_sp     = dir_bd + "/SP";
                    String dir_helper = dir_bd + "/HELPER";

                    Boolean sp_header = false;

                    string nsDALC, nsBC, nsBE, nsHelper = "";
                    Tools.GetPostName(out nsDALC, out nsBC, out nsBE, out nsHelper);
                    nsDALC   = txtPreNamespace.Text + "." + nsDALC;
                    nsBC     = txtPreNamespace.Text + "." + nsBC;
                    nsBE     = txtPreNamespace.Text + "." + nsBE;
                    nsHelper = txtPreNamespace.Text + "." + nsHelper;

                    string usuarioCreacion, usuarioModificacion, fechaCreacion, fechaModificacion, habilitado;
                    Tools.GetCamposAuditoria(out usuarioCreacion, out usuarioModificacion, out fechaCreacion, out fechaModificacion, out habilitado);

                    foreach (DataGridViewRow r in dgvTablas.Rows)
                    {
                        if ((bool)r.Cells["DALC"].Value == true || (bool)r.Cells["BC"].Value == true || (bool)r.Cells["BE"].Value == true || (bool)r.Cells["SP"].Value == true)
                        {
                            TablaBE objTablaBE = new TablaBE();
                            objTablaBE.Nombre              = r.Cells["Nombre"].Value.ToString();
                            objTablaBE.Esquema             = r.Cells["Esquema"].Value.ToString();
                            objTablaBE.Nombre_Sin_Espacios = r.Cells["Nombre"].Value.ToString().Replace(" ", "_");

                            List <ColumnaBE> lstColumnaBE = null;

                            switch (Convert.ToInt32(objConexionBE.DataSource))
                            {
                            case (int)DataSource.SQLServer:
                                lstColumnaBE = objSystemBC.Select_SQL_Columna(objConexionBE, objTablaBE);
                                break;

                            case (int)DataSource.MySQL:
                                lstColumnaBE = objSystemBC.Select_MySQL_Columna(objConexionBE, objTablaBE);
                                break;
                            }

                            if ((bool)r.Cells["DALC"].Value == true)
                            {
                                CrearCarpeta(dir_dalc);

                                String archivo_dalc = dir_dalc + "/" + ToolBC.StandarizarNombreClase(objTablaBE.Nombre) + "DALC.cs";
                                File.Create(archivo_dalc).Dispose();

                                DALCGenBC objDALCGen = new DALCGenBC();
                                objDALCGen._Ruta                     = archivo_dalc;
                                objDALCGen._DataSource               = objConexionBE.DataSource;
                                objDALCGen._Tool                     = chkGenerarTool.Checked;
                                objDALCGen._Tag                      = txtCSTag.Text;
                                objDALCGen._lstColumnaBE             = lstColumnaBE;
                                objDALCGen._objTablaBE               = objTablaBE;
                                objDALCGen._CampoUsuarioCreacion     = usuarioCreacion;
                                objDALCGen._CampoUsuarioModificacion = usuarioModificacion;
                                objDALCGen._CampoFechaCreacion       = fechaCreacion;
                                objDALCGen._CampoFechaModificacion   = fechaModificacion;
                                objDALCGen._CampoHabilitado          = habilitado;

                                objDALCGen.GenerarHeader(nsDALC, nsBE, nsHelper);

                                if (chkInsert.Checked)
                                {
                                    objDALCGen.GenerarInsert();
                                }
                                if (chkUpdate.Checked)
                                {
                                    objDALCGen.GenerarUpdate();
                                }
                                if (chkChangeState.Checked)
                                {
                                    objDALCGen.GenerarChangeState();
                                }
                                if (chkSelect.Checked)
                                {
                                    objDALCGen.GenerarSelect();
                                }
                                if (chkGet.Checked)
                                {
                                    objDALCGen.GenerarGet();
                                }
                                if (chkDelete.Checked)
                                {
                                    objDALCGen.GenerarDelete();
                                }

                                objDALCGen.GenerarFooter();
                            }
                            if ((bool)r.Cells["BC"].Value == true)
                            {
                                CrearCarpeta(dir_bc);

                                String archivo_bc = dir_bc + "/" + ToolBC.StandarizarNombreClase(objTablaBE.Nombre) + "BC.cs";
                                File.Create(archivo_bc).Dispose();

                                BCGenBC objBCGenBC = new BCGenBC();
                                objBCGenBC._Ruta         = archivo_bc;
                                objBCGenBC._lstColumnaBE = lstColumnaBE;
                                objBCGenBC._objTablaBE   = objTablaBE;
                                objBCGenBC._DataSource   = objConexionBE.DataSource;

                                objBCGenBC.GenerarHeader(nsBC, nsDALC, nsBE);

                                if (chkInsert.Checked)
                                {
                                    objBCGenBC.GenerarInsert();
                                }
                                if (chkUpdate.Checked)
                                {
                                    objBCGenBC.GenerarUpdate();
                                }
                                if (chkChangeState.Checked)
                                {
                                    objBCGenBC.GenerarChangeState();
                                }
                                if (chkSelect.Checked)
                                {
                                    objBCGenBC.GenerarSelect();
                                }
                                if (chkGet.Checked)
                                {
                                    objBCGenBC.GenerarGet();
                                }
                                if (chkDelete.Checked)
                                {
                                    objBCGenBC.GenerarDelete();
                                }

                                objBCGenBC.GenerarFooter();
                            }
                            if ((bool)r.Cells["BE"].Value == true)
                            {
                                CrearCarpeta(dir_be);

                                String archivo_be = dir_be + "/" + ToolBC.StandarizarNombreClase(objTablaBE.Nombre) + "BE.cs";
                                File.Create(archivo_be).Dispose();

                                BEGenBC objBEGenBC = new BEGenBC();
                                objBEGenBC._Ruta         = archivo_be;
                                objBEGenBC._lstColumnaBE = lstColumnaBE;
                                objBEGenBC._objTablaBE   = objTablaBE;
                                objBEGenBC._DataSource   = objConexionBE.DataSource;

                                objBEGenBC.GenerarHeader(nsBE);
                                objBEGenBC.GenerarClase();
                                objBEGenBC.GenerarFooter();
                            }
                            if ((bool)r.Cells["SP"].Value == true)
                            {
                                CrearCarpeta(dir_sp);

                                String archivo_sp = dir_sp + "/script.sql";
                                if (!File.Exists(archivo_sp))
                                {
                                    File.Create(archivo_sp).Dispose();
                                }

                                SPGenBC objSPGenBC = new SPGenBC();
                                objSPGenBC._DataSource               = objConexionBE.DataSource;
                                objSPGenBC._lstColumnaBE             = lstColumnaBE;
                                objSPGenBC._objTablaBE               = objTablaBE;
                                objSPGenBC._Ruta                     = archivo_sp;
                                objSPGenBC._DataBase                 = objConexionBE.DataBase;
                                objSPGenBC._CampoUsuarioCreacion     = usuarioCreacion;
                                objSPGenBC._CampoUsuarioModificacion = usuarioModificacion;
                                objSPGenBC._CampoFechaCreacion       = fechaCreacion;
                                objSPGenBC._CampoFechaModificacion   = fechaModificacion;
                                objSPGenBC._CampoHabilitado          = habilitado;

                                switch (Convert.ToInt32(objConexionBE.DataSource))
                                {
                                case (int)DataSource.SQLServer:
                                    if (!sp_header)
                                    {
                                        objSPGenBC.SQLGenerarHeader();
                                        sp_header = true;
                                    }

                                    if (chkInsert.Checked)
                                    {
                                        objSPGenBC.SQLGenerarInsert();
                                    }
                                    if (chkUpdate.Checked)
                                    {
                                        objSPGenBC.SQLGenerarUpdate();
                                    }
                                    if (chkChangeState.Checked)
                                    {
                                        objSPGenBC.SQLGenerarChangeState();
                                    }
                                    if (chkSelect.Checked)
                                    {
                                        objSPGenBC.SQLGenerarSelect();
                                    }
                                    if (chkGet.Checked)
                                    {
                                        objSPGenBC.SQLGenerarGet();
                                    }
                                    if (chkDelete.Checked)
                                    {
                                        objSPGenBC.SQLGenerarDelete();
                                    }
                                    break;

                                case (int)DataSource.MySQL:
                                    if (!sp_header)
                                    {
                                        objSPGenBC.MySQLGenerarHeader();
                                        sp_header = true;
                                    }

                                    if (chkInsert.Checked)
                                    {
                                        objSPGenBC.MySQLGenerarInsert();
                                    }
                                    if (chkUpdate.Checked)
                                    {
                                        objSPGenBC.MySQLGenerarUpdate();
                                    }
                                    if (chkChangeState.Checked)
                                    {
                                        objSPGenBC.MySQLGenerarChangeState();
                                    }
                                    if (chkSelect.Checked)
                                    {
                                        objSPGenBC.MySQLGenerarSelect();
                                    }
                                    if (chkGet.Checked)
                                    {
                                        objSPGenBC.MySQLGenerarGet();
                                    }
                                    if (chkDelete.Checked)
                                    {
                                        objSPGenBC.MySQLGenerarDelete();
                                    }
                                    break;
                                }
                            }
                        }
                    }
                    if (chkGenerarTool.Checked)
                    {
                        CrearCarpeta(dir_dalc);

                        String archivo_tool = dir_dalc + "/Tool.cs";
                        File.Create(archivo_tool).Dispose();

                        objToolBC._Ruta = archivo_tool;
                        objToolBC.CrearToolDALC(nsDALC, txtCSTag.Text);
                    }

                    CrearCarpeta(dir_helper);

                    String helper_tools = dir_helper + "/HelperTools.cs";
                    File.Create(helper_tools).Dispose();

                    objToolBC._Ruta = helper_tools;
                    objToolBC.CrearToolBC(nsHelper);

                    if (chkLogErrores.Checked)
                    {
                        String log_file = dir_helper + "/LogFile.cs";
                        File.Create(log_file).Dispose();

                        objToolBC._Ruta = log_file;
                        objToolBC.CrearLogBC(nsHelper);
                    }

                    MessageBox.Show("Los archivos se generaron satisfactoriamente.", "Generar CRUD", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show("Por favor, complete todos los campos antes de continuar.", "Generar CRUD", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }