private void dgvLista_DoubleClick(object sender, EventArgs e) { if (ActivarFiltros == true) { int a = 0; this.Cursor = Cursors.WaitCursor; dgvLista.CurrentRow.Cells["Seleccionar"].Value = true; foreach (DataGridViewRow Fila in dgvLista.Rows) { if (Convert.ToBoolean(Fila.Cells["Seleccionar"].Value) == true) { a++; Array.Resize(ref oAlmacen, a); oAlmacen[a - 1] = new AlmacenEN(); oAlmacen[a - 1].idAlmacen = Convert.ToInt32(Fila.Cells["idAlmacen"].Value); oAlmacen[a - 1].Nombre = Fila.Cells["Nombre"].Value.ToString(); oAlmacen[a - 1].Descripcion = Fila.Cells["Descripcion"].Value.ToString(); oAlmacen[a - 1].Codigo = Fila.Cells["Codigo"].Value.ToString(); } } this.Cursor = Cursors.Default; this.Close(); } }
private void LLenarComboDelAlmacen() { try { AlmacenEN oRegistroEN = new AlmacenEN(); AlmacenLN oRegistroLN = new AlmacenLN(); if (oRegistroLN.ListadoParaCombos(oRegistroEN, Program.oDatosDeConexion)) { cmbAlmacen.DataSource = oRegistroLN.TraerDatos(); cmbAlmacen.DisplayMember = "Almacen"; cmbAlmacen.ValueMember = "idAlmacen"; cmbAlmacen.DropDownWidth = 268; if (oRegistroLN.TraerDatos().Rows.Count == 1) { cmbAlmacen.SelectedIndex = 0; } else { cmbAlmacen.SelectedIndex = -1; } } else { throw new ArgumentException(oRegistroLN.Error); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Informacion del Almacen", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private string InformacionDelRegistro(AlmacenEN oRegistroEN) { string Cadena = @"idAlmacen: {0}, Nombre: {1}, Descripcion: {2}, PorDefecto: {3}, idUsuarioDeCreacion: {4}, FechaDeCreacion: {5}, idUsuarioModificacion: {6}, FechaDeModificacion: {7}"; Cadena = string.Format(Cadena, oRegistroEN.idAlmacen, oRegistroEN.Nombre, oRegistroEN.Descripcion, oRegistroEN.PorDefecto, oRegistroEN.idUsuarioDeCreacion, oRegistroEN.FechaDeCreacion, oRegistroEN.idUsuarioModificacion, oRegistroEN.FechaDeModificacion); Cadena = Cadena.Replace(",", Environment.NewLine); return(Cadena); }
public bool Eliminar(AlmacenEN oRegistroEN, DatosDeConexionEN oDatos) { oTransaccionesAD = new TransaccionesAD(); try { Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos)); Cnn.Open(); Comando = new MySqlCommand(); Comando.Connection = Cnn; Comando.CommandType = CommandType.Text; Consultas = @"Delete from Almacen Where idAlmacen = @idAlmacen;"; Comando.CommandText = Consultas; Comando.Parameters.Add(new MySqlParameter("@idAlmacen", MySqlDbType.Int32)).Value = oRegistroEN.idAlmacen; Comando.ExecuteNonQuery(); DescripcionDeOperacion = string.Format("El registro fue Eliminado Correctamente. {0} {1}", Environment.NewLine, InformacionDelRegistro(oRegistroEN)); //Agregamos la Transacción.... TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Eliminar", "Elminar Registro", "CORRECTO"); oTransaccionesAD.Agregar(oTran, oDatos); return(true); } catch (Exception ex) { this.Error = ex.Message; DescripcionDeOperacion = string.Format("Se produjo el seguiente error: '{2}' al eliminar el registro. {0} {1} ", Environment.NewLine, InformacionDelRegistro(oRegistroEN), ex.Message); //Agregamos la Transacción.... TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Eliminar", "Eliminar Registro", "ERROR"); oTransaccionesAD.Agregar(oTran, oDatos); return(false); } finally { if (Cnn != null) { if (Cnn.State == ConnectionState.Open) { Cnn.Close(); } } Cnn = null; Comando = null; Adaptador = null; oTransaccionesAD = null; } }
public bool Listado(AlmacenEN oREgistroEN, DatosDeConexionEN oDatos) { if (oAlmacenAD.Listado(oREgistroEN, oDatos)) { Error = string.Empty; return(true); } else { Error = oAlmacenAD.Error; return(false); } }
public bool ValidarSiElRegistroEstaVinculado(AlmacenEN oREgistroEN, DatosDeConexionEN oDatos, string TipoDeOperacion) { if (oAlmacenAD.ValidarSiElRegistroEstaVinculado(oREgistroEN, oDatos, TipoDeOperacion)) { Error = oAlmacenAD.Error; return(true); } else { Error = string.Empty; return(false); } }
public bool VerificarSiLaEntidadEstaAsociadaAProducto(AlmacenEN oREgistroEN, DatosDeConexionEN oDatos, string TipoDeOperacion) { if (oAlmacenAD.VerificarSiLaEntidadEstaAsociadaAProducto(oREgistroEN, oDatos, TipoDeOperacion)) { Error = oAlmacenAD.Error; return(true); } else { Error = string.Empty; return(false); } }
public bool ListadoParaReportes(AlmacenEN oRegistroEN, DatosDeConexionEN oDatos) { try { Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos)); Cnn.Open(); Comando = new MySqlCommand(); Comando.Connection = Cnn; Comando.CommandType = CommandType.Text; Consultas = string.Format(@"SELECT idAlmacen, a.Codigo,a.Nombre, a.Descripcion, a.PorDefecto, a.idUsuarioDeCreacion, a.FechaDeCreacion, u.Nombre as 'UsuarioDeCreacion', a.idUsuarioModificacion, a.FechaDeModificacion, u1.Nombre as 'UsuarioDeModificacion' FROM almacen AS a inner join usuario as u on u.idUsuario = a.idUsuarioDeCreacion left join usuario as u1 on u1.idUsuario = a.idUsuarioModificacion Where idAlmacen > 0 {0} {1} ", oRegistroEN.Where, oRegistroEN.OrderBy); Comando.CommandText = Consultas; Adaptador = new MySqlDataAdapter(); DT = new DataTable(); Adaptador.SelectCommand = Comando; Adaptador.Fill(DT); return(true); } catch (Exception ex) { this.Error = ex.Message; return(false); } finally { if (Cnn != null) { if (Cnn.State == ConnectionState.Open) { Cnn.Close(); } } Cnn = null; Comando = null; Adaptador = null; } }
private void tsbSeleccionarTodos_Click(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; tsbSeleccionarTodos.Checked = !tsbMarcarTodos.Checked; if (tsbSeleccionarTodos.Checked == true) { tsbSeleccionarTodos.Image = Properties.Resources.unchecked16x16; } else { tsbSeleccionarTodos.Image = Properties.Resources.checked16x16; } int a = 0; this.Cursor = Cursors.WaitCursor; if (dgvLista.Rows.Count > 0) { foreach (DataGridViewRow Fila in dgvLista.Rows) { if (Convert.ToBoolean(Fila.Cells["Seleccionar"].Value) == true) { a++; Array.Resize(ref oAlmacen, a); oAlmacen[a - 1] = new AlmacenEN(); oAlmacen[a - 1].idAlmacen = Convert.ToInt32(Fila.Cells["idAlmacen"].Value); oAlmacen[a - 1].Nombre = Fila.Cells["Nombre"].Value.ToString(); oAlmacen[a - 1].Descripcion = Fila.Cells["Descripcion"].Value.ToString(); oAlmacen[a - 1].Codigo = Fila.Cells["Codigo"].Value.ToString(); oAlmacen[a - 1].PorDefecto = Convert.ToInt32(Fila.Cells["PorDefecto"]); } } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Seleccionar registros", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { AgregarRegistrosAlDTUsuario(); this.Cursor = Cursors.Default; this.Close(); } }
public bool ListadoParaCombos(AlmacenEN oRegistroEN, DatosDeConexionEN oDatos) { try { Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos)); Cnn.Open(); Comando = new MySqlCommand(); Comando.Connection = Cnn; Comando.CommandType = CommandType.Text; Consultas = string.Format(@"SELECT idAlmacen, a.Codigo,a.Nombre, concat(a.Codigo, ' - ', a.Nombre) as 'Almacen' FROM almacen AS a Where idAlmacen > 0 {0} {1} ; ", oRegistroEN.Where, oRegistroEN.OrderBy); Comando.CommandText = Consultas; System.Diagnostics.Debug.Print("Consultas de Tipo de transaccion: " + Consultas); Adaptador = new MySqlDataAdapter(); DT = new DataTable(); Adaptador.SelectCommand = Comando; Adaptador.Fill(DT); return(true); } catch (Exception ex) { this.Error = ex.Message; return(false); } finally { if (Cnn != null) { if (Cnn.State == ConnectionState.Open) { Cnn.Close(); } } Cnn = null; Comando = null; Adaptador = null; } }
public bool Eliminar(AlmacenEN oREgistroEN, DatosDeConexionEN oDatos) { if (string.IsNullOrEmpty(oREgistroEN.idAlmacen.ToString()) || oREgistroEN.idAlmacen == 0) { this.Error = @"Se debe de seleccionar un elemento de la lista"; return(false); } if (oAlmacenAD.Eliminar(oREgistroEN, oDatos)) { Error = string.Empty; return(true); } else { Error = oAlmacenAD.Error; return(false); } }
private TransaccionesEN InformacionDelaTransaccion(AlmacenEN oAlmacen, String TipoDeOperacion, String Descripcion, String Estado) { TransaccionesEN oRegistroEN = new TransaccionesEN(); oRegistroEN.idregistro = oAlmacen.idAlmacen; oRegistroEN.Modelo = "AlmacenAD"; oRegistroEN.Modulo = "Ubicacion"; oRegistroEN.Tabla = "Almacen"; oRegistroEN.tipodeoperacion = TipoDeOperacion; oRegistroEN.Estado = Estado; oRegistroEN.ip = oAlmacen.oLoginEN.NumeroIP; oRegistroEN.idusuario = oAlmacen.oLoginEN.idUsuario; oRegistroEN.idusuarioaprueba = oAlmacen.oLoginEN.idUsuario; oRegistroEN.descripciondelusuario = DescripcionDeOperacion; oRegistroEN.descripcioninterna = Descripcion; oRegistroEN.NombreDelEquipo = oAlmacen.oLoginEN.NombreDelComputador; return(oRegistroEN); }
private void LLenarListado() { try { this.Cursor = Cursors.WaitCursor; AlmacenEN oRegistrosEN = new AlmacenEN(); AlmacenLN oRegistrosLN = new AlmacenLN(); oRegistrosEN.Where = WhereDinamico(); if (oRegistrosLN.Listado(oRegistrosEN, Program.oDatosDeConexion)) { dgvLista.Columns.Clear(); System.Diagnostics.Debug.Print(oRegistrosLN.TraerDatos().Rows.Count.ToString()); if (ActivarFiltros == true) { dgvLista.DataSource = AgregarColumnaSeleccionar(oRegistrosLN.TraerDatos()); } else { dgvLista.DataSource = oRegistrosLN.TraerDatos(); } FormatearDGV(); this.dgvLista.ClearSelection(); tsbNoRegistros.Text = "No. Registros: " + oRegistrosLN.TotalRegistros().ToString(); } else { throw new ArgumentException(oRegistrosLN.Error); } }catch (Exception ex) { MessageBox.Show(ex.Message, "Llenar listado de registro en la lista", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { this.Cursor = Cursors.Default; } }
public bool ValidarSiElRegistroEstaVinculado(AlmacenEN oRegistroEN, DatosDeConexionEN oDatos, string TipoDeOperacion) { oTransaccionesAD = new TransaccionesAD(); try { Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos)); Cnn.Open(); Comando = new MySqlCommand(); Comando.Connection = Cnn; Comando.CommandType = CommandType.StoredProcedure; Comando.CommandText = "ValidarSiElRegistroEstaVinculadoUnaTabla"; Comando.Parameters.Add(new MySqlParameter("@CampoABuscar_", MySqlDbType.VarChar, 200)).Value = "idAlmacen"; Comando.Parameters.Add(new MySqlParameter("@ValorCampoABuscar", MySqlDbType.Int32)).Value = oRegistroEN.idAlmacen; Comando.Parameters.Add(new MySqlParameter("@ExcluirTabla_", MySqlDbType.VarChar, 200)).Value = "Almacen"; Adaptador = new MySqlDataAdapter(); DT = new DataTable(); Adaptador.SelectCommand = Comando; Adaptador.Fill(DT); if (DT.Rows[0].ItemArray[0].ToString().ToUpper() == "NINGUNA".ToUpper()) { return(false); } else { this.Error = String.Format("La Operación: '{1}', {0} no se puede completar por que el registro: {0} '{2}', {0} se encuentra asociado con: {0} {3}", Environment.NewLine, TipoDeOperacion, InformacionDelRegistro(oRegistroEN), oTransaccionesAD.ConvertirValorDeLaCadena(DT.Rows[0].ItemArray[0].ToString())); DescripcionDeOperacion = this.Error; //Agregamos la Transacción.... TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "VALIDAR", "VALIDAR SI EL REGISTRO ESTA VINCULADO", "CORRECTO"); oTransaccionesAD.Agregar(oTran, oDatos); return(true); } } catch (Exception ex) { this.Error = ex.Message; DescripcionDeOperacion = string.Format("Se produjo el seguiente error: '{2}' al validar el registro. {0} {1} ", Environment.NewLine, InformacionDelRegistro(oRegistroEN), ex.Message); //Agregamos la Transacción.... TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "VALIDAR", "VALIDAR SI EL REGISTRO ESTA VINCULADO", "ERROR"); oTransaccionesAD.Agregar(oTran, oDatos); return(false); } finally { if (Cnn != null) { if (Cnn.State == ConnectionState.Open) { Cnn.Close(); } } Cnn = null; Comando = null; Adaptador = null; oTransaccionesAD = null; } }
public bool ValidarCodigo(AlmacenEN oRegistroEN, DatosDeConexionEN oDatos, string TipoDeOperacion) { oTransaccionesAD = new TransaccionesAD(); try { Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos)); Cnn.Open(); Comando = new MySqlCommand(); Comando.Connection = Cnn; Comando.CommandType = CommandType.Text; switch (TipoDeOperacion.Trim().ToUpper()) { case "AGREGAR": Consultas = @"SELECT CASE WHEN EXISTS(Select idAlmacen from Almacen where upper( trim(Codigo) ) = upper(trim(@Codigo))) THEN 1 ELSE 0 END AS 'RES'"; Comando.Parameters.Add(new MySqlParameter("@Codigo", MySqlDbType.VarChar, oRegistroEN.Codigo.Trim().Length)).Value = oRegistroEN.Codigo; break; case "ACTUALIZAR": Consultas = @"SELECT CASE WHEN EXISTS(Select idAlmacen from Almacen where upper( trim(Codigo) ) = upper(trim(@Codigo)) and idAlmacen <> @idAlmacen) THEN 1 ELSE 0 END AS 'RES'"; Comando.Parameters.Add(new MySqlParameter("@Codigo", MySqlDbType.VarChar, oRegistroEN.Codigo.Trim().Length)).Value = oRegistroEN.Codigo; Comando.Parameters.Add(new MySqlParameter("@idAlmacen", MySqlDbType.Int32)).Value = oRegistroEN.idAlmacen; break; default: throw new ArgumentException("La aperación solicitada no esta disponible"); } Comando.CommandText = Consultas; Adaptador = new MySqlDataAdapter(); DT = new DataTable(); Adaptador.SelectCommand = Comando; Adaptador.Fill(DT); if (Convert.ToInt32(DT.Rows[0]["RES"].ToString()) > 0) { DescripcionDeOperacion = string.Format("Ya existe información del Código dentro de nuestro sistema: {0} {1}", Environment.NewLine, InformacionDelRegistro(oRegistroEN)); this.Error = DescripcionDeOperacion; return(true); } return(false); } catch (Exception ex) { this.Error = ex.Message; DescripcionDeOperacion = string.Format("Se produjo el seguiente error: '{2}' al validar el registro. {0} {1} ", Environment.NewLine, InformacionDelRegistro(oRegistroEN), ex.Message); //Agregamos la Transacción.... TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "VALIDAR", "REGISTRO DUPLICADO DENTRO DE LA BASE DE DATOS", "ERROR"); oTransaccionesAD.Agregar(oTran, oDatos); return(false); } finally { if (Cnn != null) { if (Cnn.State == ConnectionState.Open) { Cnn.Close(); } } Cnn = null; Comando = null; Adaptador = null; oTransaccionesAD = null; } }
public bool VerificarSiLaEntidadEstaAsociadaAProducto(AlmacenEN oRegistroEN, DatosDeConexionEN oDatos, string TipoDeOperacion) { oTransaccionesAD = new TransaccionesAD(); try { Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos)); Cnn.Open(); Comando = new MySqlCommand(); Comando.Connection = Cnn; Comando.CommandType = CommandType.Text; Comando.CommandText = string.Format(@"Select case when exists( Select idProducto from producto as p where p.TablaDeReferenciaDeAlmacenaje = 'Almacen' and p.idAlmacenEntidad = {0}) then 1 else 0 end as 'ID'", oRegistroEN.idAlmacen); Adaptador = new MySqlDataAdapter(); DT = new DataTable(); Adaptador.SelectCommand = Comando; Adaptador.Fill(DT); if (Convert.ToInt32(DT.Rows[0].ItemArray[0].ToString()) == 0) { return(false); } else { this.Error = string.Format("La Operacion: '{1}', {0} no se puede completar por que el registro: {0} '{2}', ya tiene asociado un producto", Environment.NewLine, TipoDeOperacion, InformacionDelRegistro(oRegistroEN)); DescripcionDeOperacion = this.Error; //Agregamos la Transacción.... TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "VALIDAR", "VALIDAR SI EL REGISTRO ESTA VINCULADO", "CORRECTO"); oTransaccionesAD.Agregar(oTran, oDatos); return(true); } } catch (Exception ex) { this.Error = ex.Message; DescripcionDeOperacion = string.Format("Se produjo el seguiente error: '{2}' al validar el registro. {0} {1} ", Environment.NewLine, InformacionDelRegistro(oRegistroEN), ex.Message); //Agregamos la Transacción.... TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "VALIDAR", "VALIDAR SI EL REGISTRO ESTA VINCULADO", "ERROR"); oTransaccionesAD.Agregar(oTran, oDatos); return(false); } finally { if (Cnn != null) { if (Cnn.State == ConnectionState.Open) { Cnn.Close(); } } Cnn = null; Comando = null; Adaptador = null; oTransaccionesAD = null; } }
public bool Agregar(AlmacenEN oRegistroEN, DatosDeConexionEN oDatos) { oTransaccionesAD = new TransaccionesAD(); try { Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos)); Cnn.Open(); Comando = new MySqlCommand(); Comando.Connection = Cnn; Comando.CommandType = CommandType.Text; Consultas = @" INSERT INTO almacen (Codigo,Nombre, Descripcion, PorDefecto, idUsuarioDeCreacion, FechaDeCreacion, idUsuarioModificacion, FechaDeModificacion) VALUES (@Codigo,@Nombre, @Descripcion, @PorDefecto, @idUsuarioDeCreacion, current_timestamp(), @idUsuarioModificacion, current_timestamp()); Select last_insert_id() as 'ID'; "; Comando.CommandText = Consultas; Comando.Parameters.Add(new MySqlParameter("@Codigo", MySqlDbType.VarChar, oRegistroEN.Codigo.Trim().Length)).Value = oRegistroEN.Codigo.Trim(); Comando.Parameters.Add(new MySqlParameter("@Nombre", MySqlDbType.VarChar, oRegistroEN.Nombre.Trim().Length)).Value = oRegistroEN.Nombre.Trim(); Comando.Parameters.Add(new MySqlParameter("@Descripcion", MySqlDbType.VarChar, oRegistroEN.Descripcion.Trim().Length)).Value = oRegistroEN.Descripcion.Trim(); Comando.Parameters.Add(new MySqlParameter("@PorDefecto", MySqlDbType.Int32)).Value = oRegistroEN.PorDefecto; Comando.Parameters.Add(new MySqlParameter("@idUsuarioDeCreacion", MySqlDbType.Int32)).Value = oRegistroEN.oLoginEN.idUsuario; Comando.Parameters.Add(new MySqlParameter("@idUsuarioModificacion", MySqlDbType.Int32)).Value = oRegistroEN.oLoginEN.idUsuario; Adaptador = new MySqlDataAdapter(); Adaptador.SelectCommand = Comando; DT = new DataTable(); Adaptador.Fill(DT); oRegistroEN.idAlmacen = Convert.ToInt32(DT.Rows[0].ItemArray[0].ToString()); DescripcionDeOperacion = string.Format("El registro fue Insertado Correctamente. {0} {1}", Environment.NewLine, InformacionDelRegistro(oRegistroEN)); //Agregamos la Transacción.... TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Agregar", "Agregar Nuevo Registro", "CORRECTO"); oTransaccionesAD.Agregar(oTran, oDatos); return(true); } catch (Exception ex) { this.Error = ex.Message; DescripcionDeOperacion = string.Format("Se produjo el seguiente error: '{2}' al insertar el registro. {0} {1} ", Environment.NewLine, InformacionDelRegistro(oRegistroEN), ex.Message); //Agregamos la Transacción.... TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Agregar", "Agregar Nuevo Registro", "ERROR"); oTransaccionesAD.Agregar(oTran, oDatos); return(false); } finally { if (Cnn != null) { if (Cnn.State == ConnectionState.Open) { Cnn.Close(); } } Cnn = null; Comando = null; Adaptador = null; oTransaccionesAD = null; } }
public bool ActualizarVodegaPorDefecto(AlmacenEN oRegistroEN, DatosDeConexionEN oDatos) { oTransaccionesAD = new TransaccionesAD(); try { Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos)); Cnn.Open(); Comando = new MySqlCommand(); Comando.Connection = Cnn; Comando.CommandType = CommandType.Text; Consultas = @"UPDATE almacen SET PorDefecto = @PorDefecto, idUsuarioModificacion = @idUsuarioModificacion, FechaDeModificacion = current_timestamp() WHERE idAlmacen <> @idAlmacen;"; Comando.CommandText = Consultas; Comando.Parameters.Add(new MySqlParameter("@idAlmacen", MySqlDbType.Int32)).Value = oRegistroEN.idAlmacen; Comando.Parameters.Add(new MySqlParameter("@PorDefecto", MySqlDbType.Int32)).Value = oRegistroEN.PorDefecto; Comando.Parameters.Add(new MySqlParameter("@idUsuarioModificacion", MySqlDbType.Int32)).Value = oRegistroEN.oLoginEN.idUsuario; Comando.ExecuteNonQuery(); DescripcionDeOperacion = string.Format("Valor por defecto actualizado Correctamente. {0} {1}", Environment.NewLine, InformacionDelRegistro(oRegistroEN)); //Agregamos la Transacción.... TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Actualizar", "Actualizar Registro", "CORRECTO"); oTransaccionesAD.Agregar(oTran, oDatos); return(true); } catch (Exception ex) { this.Error = ex.Message; DescripcionDeOperacion = string.Format("Se produjo el seguiente error: '{2}' al actualizar el registro. {0} {1} ", Environment.NewLine, InformacionDelRegistro(oRegistroEN), ex.Message); //Agregamos la Transacción.... TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Actualizar", "Actualizar Registro", "ERROR"); oTransaccionesAD.Agregar(oTran, oDatos); return(false); } finally { if (Cnn != null) { if (Cnn.State == ConnectionState.Open) { Cnn.Close(); } } Cnn = null; Comando = null; Adaptador = null; oTransaccionesAD = null; } }