コード例 #1
0
        private void btnGrabar_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor = Cursors.WaitCursor;
                if (!ValidarIngreso())
                {
                    TablaBL objBL_Tabla = new TablaBL();
                    TablaBE objTabla    = new TablaBE();
                    objTabla.IdTabla    = IdTabla;
                    objTabla.DescTabla  = txtDescripcion.Text;
                    objTabla.FlagEstado = true;
                    objTabla.Usuario    = Parametros.strUsuarioLogin;
                    objTabla.Maquina    = WindowsIdentity.GetCurrent().Name.ToString();
                    objTabla.IdEmpresa  = Parametros.intEmpresaId;

                    if (pOperacion == Operacion.Nuevo)
                    {
                        objBL_Tabla.Inserta(objTabla);
                    }
                    else
                    {
                        objBL_Tabla.Actualiza(objTabla);
                    }

                    this.Close();
                }
            }
            catch (Exception ex)
            {
                Cursor = Cursors.Default;
                XtraMessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #2
0
        /// <summary>
        /// Metodo                  :Actualizar
        /// Propósito               :Permite actualizar los datos de esta clase
        /// Retorno                 :Objeto que contiene el resultado del método
        /// Autor                   :OCR - Orlando Carril R.
        /// Fecha/Hora de Creación  :23/08/2015
        /// Modificado              :N/A
        /// Fecha/Hora Modificación :N/A
        /// </summary>
        /// <param name="pSistema"></param>
        /// <returns objReturnaValor></returns>
        public ReturnValor Actualizar(TablaBE objTabla)
        {
            TablaDataTx objTablaDataTx  = null;
            ReturnValor objReturnaValor = new ReturnValor();

            try
            {
                objTablaDataTx          = new TablaDataTx();
                objReturnaValor.Exitosa = objTablaDataTx.Actualizar(objTabla);
                objReturnaValor.Message = HelpMessages.Evento_EDIT;
            }
            catch (Exception ex)
            {
                //log.Error(String.Concat("Actualizar Tabla", " | ", ex.Message.ToString()));
                objReturnaValor = HelpException.mTraerMensaje(ex);
            }
            finally
            {
                if (objTablaDataTx != null)
                {
                    objTablaDataTx.Dispose();
                    objTablaDataTx = null;
                }
            }
            return(objReturnaValor);
        }
コード例 #3
0
        public void Elimina(TablaBE pItem)
        {
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    TablaDL         Tabla         = new TablaDL();
                    TablaElementoDL TablaElemento = new TablaElementoDL();

                    List <TablaElementoBE> pListaTablaElemento = null;
                    pListaTablaElemento = new TablaElementoBL().ListaTodosActivo(pItem.IdEmpresa, pItem.IdTabla);

                    //Eliminar los elementos de la tabla
                    foreach (var item in pListaTablaElemento)
                    {
                        TablaElemento.Elimina(item);
                    }

                    Tabla.Elimina(pItem);

                    ts.Complete();
                }
            }
            catch (Exception ex)
            { throw ex; }
        }
コード例 #4
0
        /// <summary>
        /// Metodo                  :Buscar
        /// Propósito               :Permite buscar un registro de la entidad
        /// Retorno                 :Datos de la entidad del objeto
        /// Autor                   :OCR - Orlando Carril R.
        /// Fecha/Hora de Creación  :13/08/2015
        /// Modificado              :N/A
        /// Fecha/Hora Modificación :N/A
        /// </summary>
        /// <param name="codRegistro">Indica el ID de la entidad</param>
        /// <returns></returns>
        public TablaBE BuscarTabla(string codTabla, int pcodEmpresa, string pSegUsuario)
        {
            TablaDataNx objTablaDataNx = null;
            TablaBE     objTabla       = null;

            try
            {
                objTablaDataNx = new TablaDataNx();
                objTabla       = objTablaDataNx.Buscar(codTabla);
            }
            catch (Exception ex)
            {
                var returnValor = HelpException.mTraerMensaje(ex, false, this.GetType().Name + '.' + MethodBase.GetCurrentMethod().Name,
                                                              pSegUsuario, pcodEmpresa.ToString());
                throw new Exception(returnValor.Message);
            }
            finally
            {
                if (objTablaDataNx != null)
                {
                    objTablaDataNx.Dispose();
                    objTablaDataNx = null;
                }
            }
            return(objTabla);
        }
コード例 #5
0
        /// <summary>
        /// Actualiza el registro de un objeto de tipo TEMaestro
        /// </summary>
        /// <param name="objTabla">Entidad TEMaestro</param>
        public bool Actualizar(TablaBE objTabla)
        {
            int codigoRetorno = -1;

            try
            {
                using (_DBMLMaestrosDataContext tablaMaestroDC = new _DBMLMaestrosDataContext(conexion))
                {
                    tablaMaestroDC.omgc_U_Tabla(objTabla.codTabla,
                                                objTabla.desNombre,
                                                objTabla.gloDescripcion,
                                                objTabla.indNivel,
                                                objTabla.numLongitudNivel,
                                                objTabla.indActivo,
                                                objTabla.segUsuarioEdita,
                                                objTabla.segMaquinaCrea);
                    codigoRetorno = 0;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(codigoRetorno == 0 ? true : false);
        }
コード例 #6
0
        private void tlbMenu_DeleteClick()
        {
            try
            {
                Cursor = Cursors.WaitCursor;
                if (XtraMessageBox.Show("Esta seguro de eliminar el registro?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    if (!ValidarIngreso())
                    {
                        TablaBE objE_Tabla = new TablaBE();
                        objE_Tabla.IdTabla   = int.Parse(gvTabla.GetFocusedRowCellValue("IdTabla").ToString());
                        objE_Tabla.Usuario   = Parametros.strUsuarioLogin;
                        objE_Tabla.Maquina   = WindowsIdentity.GetCurrent().Name.ToString();
                        objE_Tabla.IdEmpresa = Parametros.intEmpresaId;

                        TablaBL objBL_Tabla = new TablaBL();
                        objBL_Tabla.Elimina(objE_Tabla);
                        XtraMessageBox.Show("El registro se eliminó correctamente", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        Cargar();
                    }
                }
                Cursor = Cursors.Default;
            }
            catch (Exception ex)
            {
                Cursor = Cursors.Default;
                XtraMessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #7
0
        /// <summary>
        /// BUSCAR un registro de la Entidad Tabla por ID
        /// </summary>
        /// <param name="objFiltro"></param>
        /// <returns></returns>
        public TablaBE Buscar(string codTabla)
        {
            TablaBE objTabla = null;

            try
            {
                using (_DBMLMaestrosDataContext tablasMaestrosDC = new _DBMLMaestrosDataContext(conexion))
                {
                    var query = tablasMaestrosDC.omgc_S_Tabla(codTabla, string.Empty, null);
                    foreach (var item in query)
                    {
                        objTabla = new TablaBE()
                        {
                            codTabla         = item.codTabla,
                            indNivel         = item.indNivel,
                            numLongitudNivel = item.numLongitudNivel,
                            desNombre        = item.desNombre,
                            gloDescripcion   = item.gloDescripcion,
                            indActivo        = item.indActivo,
                            segUsuarioCrea   = item.segUsuCrea,
                            segUsuarioEdita  = item.segUsuEdita,
                            segFechaCrea     = item.segFechaCrea,
                            segFechaEdita    = item.segFechaEdita,
                            segMaquinaCrea   = item.segMaquinaOrigen,
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(objTabla);
        }
コード例 #8
0
 public void Actualiza(TablaBE pItem)
 {
     try
     {
         TablaDL Tabla = new TablaDL();
         Tabla.Actualiza(pItem);
     }
     catch (Exception ex)
     { throw ex; }
 }
コード例 #9
0
 public void Inserta(TablaBE pItem)
 {
     try
     {
         TablaDL Tabla = new TablaDL();
         Tabla.Inserta(pItem);
     }
     catch (Exception ex)
     { throw ex; }
 }
コード例 #10
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();
            }
        }
コード例 #11
0
 public List <ColumnaBE> Select_MySQL_Columna(ConexionBE objConexionBE, TablaBE objTablaBE)
 {
     try
     {
         return(objSystemDALC.Select_MySQL_Columna(objConexionBE, objTablaBE));
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #12
0
        public void Elimina(TablaBE pItem)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_Tabla_Elimina");

            db.AddInParameter(dbCommand, "pIdTabla", DbType.Int32, pItem.IdTabla);
            db.AddInParameter(dbCommand, "pIdEmpresa", DbType.Int32, pItem.IdEmpresa);
            db.AddInParameter(dbCommand, "pUsuario", DbType.String, pItem.Usuario);
            db.AddInParameter(dbCommand, "pMaquina", DbType.String, pItem.Maquina);

            db.ExecuteNonQuery(dbCommand);
        }
コード例 #13
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();
            }
        }
コード例 #14
0
        /// <summary>
        /// Metodo                  :Insertar
        /// Propósito               :Permite insertar los datos de esta clase
        /// Retorno                 :Objeto que contiene el resultado del método
        /// Autor                   :OCR - Orlando Carril R.
        /// Fecha/Hora de Creación  :23/08/2015
        /// Modificado              :N/A
        /// Fecha/Hora Modificación :N/A
        /// </summary>
        /// <param name="objTabla"></param>
        /// <returns></returns>
        public ReturnValor Insertar(TablaBE objTabla)
        {
            TablaDataTx objTablaDataTx  = null;
            TablaDataNx objTablaDataNx  = null;
            ReturnValor objReturnaValor = new ReturnValor();

            try
            {
                objTablaDataTx = new TablaDataTx();
                objTablaDataNx = new TablaDataNx();
                TablaBE objTablaBusca = objTablaDataNx.Buscar(objTabla.codTabla);
                if (objTablaBusca == null)
                {
                    objReturnaValor.Exitosa = objTablaDataTx.Registrar(objTabla);
                    objReturnaValor.Message = HelpMessages.Evento_NEW;
                }
                else
                {
                    objReturnaValor.Exitosa = objTablaDataTx.Actualizar(objTabla);
                    objReturnaValor.Message = HelpMessages.Evento_EDIT;
                }
                objReturnaValor.CodigoRetorno = objTabla.codTabla;
            }
            catch (Exception ex)
            {
                ///log.Error(String.Concat("Insertar Tabla", " | ", ex.Message.ToString()));
                objReturnaValor = HelpException.mTraerMensaje(ex);
            }
            finally
            {
                if (objTablaDataTx != null)
                {
                    objTablaDataTx.Dispose();
                    objTablaDataTx = null;
                }
            }
            return(objReturnaValor);
        }
コード例 #15
0
        public void InicializarModificar()
        {
            if (gvTabla.RowCount > 0)
            {
                TablaBE objTabla = new TablaBE();
                objTabla.IdTabla    = int.Parse(gvTabla.GetFocusedRowCellValue("IdTabla").ToString());
                objTabla.DescTabla  = gvTabla.GetFocusedRowCellValue("DescTabla").ToString();
                objTabla.FlagEstado = Convert.ToBoolean(gvTabla.GetFocusedRowCellValue("FlagEstado").ToString());

                frmManTablaEdit objManTablaEdit = new frmManTablaEdit();
                objManTablaEdit.pOperacion    = frmManTablaEdit.Operacion.Modificar;
                objManTablaEdit.IdTabla       = objTabla.IdTabla;
                objManTablaEdit.pTablaBE      = objTabla;
                objManTablaEdit.StartPosition = FormStartPosition.CenterParent;
                objManTablaEdit.ShowDialog();

                Cargar();
            }
            else
            {
                MessageBox.Show("No se pudo editar");
            }
        }
コード例 #16
0
        public List <TablaBE> ListaTodosActivo(int IdEmpresa)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_Tabla_ListaTodosActivo");

            db.AddInParameter(dbCommand, "pIdEmpresa", DbType.Int32, IdEmpresa);

            IDataReader    reader    = db.ExecuteReader(dbCommand);
            List <TablaBE> Tablalist = new List <TablaBE>();
            TablaBE        Tabla;

            while (reader.Read())
            {
                Tabla            = new TablaBE();
                Tabla.IdEmpresa  = Int32.Parse(reader["idEmpresa"].ToString());
                Tabla.IdTabla    = Int32.Parse(reader["idTabla"].ToString());
                Tabla.DescTabla  = reader["descTabla"].ToString();
                Tabla.FlagEstado = Boolean.Parse(reader["flagestado"].ToString());
                Tablalist.Add(Tabla);
            }
            reader.Close();
            reader.Dispose();
            return(Tablalist);
        }
コード例 #17
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);
            }
        }