/// <summary> /// Obtiene una lista de tipos articuos sino devuelve excepcion con los dados de baja /// </summary> /// <returns></returns> public List <TipoArticulo> BuscarListTipoArticuloTodos() { BeginTransaction(); try { string sql = @"SELECT * FROM tipo_articulo ta"; DataTable dt = conn.GetDT(sql); if (dt == null || dt.Rows.Count == 0) { throw new ExcepcionPropia("No se han encontrado Tipos de Articulos"); } List <TipoArticulo> listTA = new List <TipoArticulo>(); foreach (DataRow row in dt.Rows) { TipoArticulo ta = mapearTipoArticulo(row); listTA.Add(ta); } CommitTransaction(); return(listTA.OrderBy(ta => ta.Descripcion).ToList()); } catch (Exception myEx) { RollbackTransaction(); ControladorExcepcion.tiraExcepcion(myEx.Message); return(null); } }
public async Task <ActionResult <TipoArticulo> > PosttipoArticulo(TipoArticulo tipoArticulo) { _context.TipoArticulo.Add(tipoArticulo); await _context.SaveChangesAsync(); return(CreatedAtAction("GettipoArticulo", new { id = tipoArticulo.TipoArticuloID }, tipoArticulo)); }
/// <summary> /// Seleccionar el cupo que contenga el codigo QR brindado /// </summary> ///<param name="QR">EL codigo QR unico del articulo</param> ///<returns>Devuelve un objeto de tipo cupon</returns> public static Cupon SeleccionarCuponPorQR(string QR) { using (IDataBase db = FactoryDatabase.CreateDefaultDataBase()) { SqlCommand comando = new SqlCommand(); comando.CommandType = System.Data.CommandType.StoredProcedure; comando.CommandText = "PA_SeleccionarCupoPorQR"; comando.Parameters.AddWithValue("@QR", QR); DataSet ds = db.ExecuteDataSet(comando); foreach (DataRow dr in ds.Tables[0].Rows) { Cupon _Cupon = null; TipoArticulo tp = SeleccionarTipoArticuloPorID((int)dr["TIPO_ARTICULO_ID"]); // Se agregan las propiedades especificas de cada if (tp == TipoArticulo.CuponDescuento) { _Cupon = (CupoDescuento)SeleccionarPorId((int)dr["ARTICULO_ID"]); (_Cupon as CupoDescuento).PorcentajeDescuento = ((int)dr["CUPON_DESCUENTO_PORCENTAJE"]) / 100.0d; } if (tp == TipoArticulo.CuponProductoGratis) { _Cupon = (CuponProductoGratis)SeleccionarPorId((int)dr["ARTICULO_ID"]); //(_Cupon as CuponProductoGratis).IDProducto = (int)dr["PRODUCTO_GRATIS_ID"]; } return(_Cupon); } } return(null); }
public Boolean guardar(clsTipoArticulo ctm, ref string Mensaje) { try { using (INVENTARIOEntities te = new INVENTARIOEntities()) { TipoArticulo tm = new TipoArticulo(); tm.IdEmpresa = Convert.ToInt32(ctm.empresa); tm.IdTipoArticulo = Convert.ToInt32(ctm.codigo); tm.Descripcion = Convert.ToString(ctm.descripcion); tm.IdEstado = Convert.ToInt32(ctm.estado); te.AddToTipoArticulo(tm); te.SaveChanges(); } return(true); } catch (Exception e) { Mensaje = "ERROR" + e.InnerException + e.Message; //System.Windows.Forms.MessageBox.Show("error al guardar" + e); return(false); } }
/// <summary> /// Modifica un tipo de articulo /// </summary> /// <param name="idMarca"></param> /// <param name="descripcion"></param> /// <param name="fechaBaja"></param> public void ModificarTipoArticulo(int idTipoArticulo, string descripcion, DateTime?fechaBaja) { BeginTransaction(); try { TipoArticulo ta = new TipoArticulo(); ta.Descripcion = descripcion; ta.IdtipoArticulo = Convert.ToInt32(idTipoArticulo); ta.FechaBaja = fechaBaja; updateTipoArticulo(ta); CommitTransaction(); } catch (Npgsql.NpgsqlException ex) { RollbackTransaction(); ControladorExcepcion.tiraExcepcion(ex); } catch (ExcepcionPropia myEx) { RollbackTransaction(); ControladorExcepcion.tiraExcepcion(myEx.Message); } catch (FormatException myEx) { RollbackTransaction(); ControladorExcepcion.tiraExcepcion(myEx.Message); } }
public int AgregarTipoArticulo(string descripcion, DateTime?fechaBaja) { BeginTransaction(); try { TipoArticulo ta = new TipoArticulo(); ta.Descripcion = descripcion; ta.FechaBaja = fechaBaja; int id = insertTipoArticulo(ta); CommitTransaction(); return(id); } catch (Npgsql.NpgsqlException ex) { RollbackTransaction(); ControladorExcepcion.tiraExcepcion(ex); return(0); } catch (ExcepcionPropia myEx) { RollbackTransaction(); ControladorExcepcion.tiraExcepcion(myEx.Message); return(0); } catch (FormatException myEx) { RollbackTransaction(); ControladorExcepcion.tiraExcepcion(myEx.Message); return(0); } }
public async Task <IActionResult> PuttipoArticulo(int id, TipoArticulo tipoArticulo) { if (id != tipoArticulo.TipoArticuloID) { return(BadRequest()); } _context.Entry(tipoArticulo).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!tipoArticuloExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public Response Crear(TipoArticulo tipoArticulo) { try { var respuesta = Existe(tipoArticulo); if (!respuesta.IsSuccess) { tipoArticulo.Nombre = tipoArticulo.Nombre.TrimStart().TrimEnd().ToUpper(); db.Add(tipoArticulo); db.SaveChanges(); return(new Response { IsSuccess = true, Message = "Ok", }); } else { return(new Response { IsSuccess = false, Message = "Existe un tipo de artículo con igual nombre...", }); } } catch (Exception ex) { return(new Response { IsSuccess = false, Message = ex.Message, }); } }
protected override bool cargarBusqueda() { frmBusquedaPrecio frmBusquedaArticulo = new frmBusquedaPrecio(); DialogResult res = frmBusquedaArticulo.ShowDialog(); if (res == DialogResult.OK) { Articulo = frmBusquedaArticulo.articuloSeleccionado; txtNombre.Text = Articulo.nombre; cboUnidad.SelectedIndex = cboUnidad.FindStringExact(Articulo.Unidad.nombre); if (Articulo.Unidad1 != null) { cboUnidadStock.SelectedIndex = cboUnidadStock.FindStringExact(Articulo.Unidad1.nombre); } else { cboUnidadStock.SelectedIndex = 0; } int i = 0; dgvComposicion.Rows.Clear(); foreach (ComposicionArticulos compHijos in Articulo.ComposicionArticulos) { dgvComposicion.Rows.Add(); dgvComposicion.Rows[i].Tag = compHijos; dgvComposicion.Rows[i].Cells["clmArt"].Value = compHijos.TipoArticulo1.nombre; dgvComposicion.Rows[i].Cells["clmCant"].Value = compHijos.cantComposicion; dgvComposicion.Rows[i].Cells["clmFactor"].Value = compHijos.factorConversion; i++; } return(true); } return(false); }
private void btn_GrabarTipo_Click(object sender, EventArgs e) { if (_tipoArticulosNueno) { _contexto.Dispose(); _contexto = new DB_Context(); var NuevoTipoArticulo = new TipoArticulo { Nombre = txt_Nombre.Text, Descripcion = rtb_Descripcion.Text, EstasActivo = ckb_EstaAciva.Checked }; _contexto.TipoArticulos.Add(NuevoTipoArticulo); _contexto.SaveChanges(); MessageBox.Show(" Tipo de articulo ha sido creado exitosamente"); this.ClearAll("all"); this.LoadListaArticulos(); } else { _contexto.Dispose(); _contexto = new DB_Context(); int IdTipoArticulo = int.Parse(txt_Id.Text); var ModificarTipoArticulo = _contexto.TipoArticulos.FirstOrDefault(t => t.Id_TipoArticulo == IdTipoArticulo); ModificarTipoArticulo.Nombre = txt_Nombre.Text; ModificarTipoArticulo.Descripcion = rtb_Descripcion.Text; ModificarTipoArticulo.EstasActivo = ckb_EstaAciva.Checked; _contexto.SaveChanges(); MessageBox.Show(" Tipo de articulo ha sido Modificado exitosamente"); this.ClearAll("all"); this.LoadListaArticulos(); } }
private void dgvComposicion_CellLeave(object sender, DataGridViewCellEventArgs e) { if (dgvComposicion.EditingControl == null) { return; } switch (dgvComposicion[e.ColumnIndex, e.RowIndex].OwningColumn.Name) { case "clmArt": TipoArticulo art = Global.Servicio.obtenerArticulo(dgvComposicion.EditingControl.Text); if (art != null) { ComposicionArticulos hijo = new ComposicionArticulos(); hijo.TipoArticulo1 = art; dgvComposicion.Rows[e.RowIndex].Tag = hijo; } break; case "clmCant": decimal val; if (decimal.TryParse(dgvComposicion.EditingControl.Text, out val)) { if (val > 0 && val <= 1) { dgvComposicion.EditingControl.Text = Math.Round(val, 2).ToString(); } else { dgvComposicion.EditingControl.Text = "0"; Mensaje unMensaje = new Mensaje("La proporción debe ser un número mayor a cero (0) y menor o igual a uno (1).", Mensaje.TipoMensaje.Error, Mensaje.Botones.OK); unMensaje.ShowDialog(); } } else { dgvComposicion.EditingControl.Text = "0"; Mensaje unMensaje = new Mensaje("La proporción debe ser un número mayor a cero (0) y menor o igual a uno (1).", Mensaje.TipoMensaje.Error, Mensaje.Botones.OK); unMensaje.ShowDialog(); } break; case "clmFactor": decimal valF; if (decimal.TryParse(dgvComposicion.EditingControl.Text, out valF)) { dgvComposicion.EditingControl.Text = Math.Round(valF, 2).ToString(); } else { dgvComposicion.EditingControl.Text = "0"; Mensaje unMensaje = new Mensaje("El factor de conversión debe ser un número.", Mensaje.TipoMensaje.Error, Mensaje.Botones.OK); unMensaje.ShowDialog(); } break; default: return; } }
public async Task <IActionResult> Edit(string id, TipoArticulo tipoArticulo) { try { if (!string.IsNullOrEmpty(id)) { var response = await apiServicio.EditarAsync(id, tipoArticulo, new Uri(WebApp.BaseAddressRM), "api/TipoArticulo"); if (response.IsSuccess) { await GuardarLogService.SaveLogEntry(new LogEntryTranfer { ApplicationName = Convert.ToString(Aplicacion.WebAppRM), EntityID = string.Format("{0} : {1}", "Tipo de Artículo", id), LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit), LogLevelShortName = Convert.ToString(LogLevelParameter.ADV), Message = "Se ha actualizado un registro tipo de artículo", UserName = "******" }); return(this.Redireccionar($"{Mensaje.Informacion}|{Mensaje.Satisfactorio}")); } ViewData["Error"] = response.Message; return(View(tipoArticulo)); } return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.RegistroNoExiste}")); } catch (Exception ex) { await GuardarLogService.SaveLogEntry(new LogEntryTranfer { ApplicationName = Convert.ToString(Aplicacion.WebAppRM), Message = "Editando un tipo de artículo", ExceptionTrace = ex.Message, LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit), LogLevelShortName = Convert.ToString(LogLevelParameter.ERR), UserName = "******" }); return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorEditar}")); } }
public async Task <Response> PostTipoArticulo(TipoArticulo tipoArticulo) { string mensaje = _tipoArticuloDomainService.ValidarDescripcion(tipoArticulo.Descripcion); if (!mensaje.Equals(Constantes.ValidacionConExito)) { return(new Response { Mensaje = mensaje }); } var GuardarArticulo = await _context.TipoArticulo.FirstOrDefaultAsync(r => r.Descripcion == tipoArticulo.Descripcion); if (GuardarArticulo != null) { return(new Response { Mensaje = "Este tipo de articulo ya existe en el sistema" }); } _context.TipoArticulo.Add(tipoArticulo); await _context.SaveChangesAsync(); return(new Response { Mensaje = "Tipo de Articulo agregado correctamente" }); }
protected override bool aceptar() { // Si seleccionó al menos un cliente if (ltvBusqueda.SelectedItems.Count > 0) { object tag = ltvBusqueda.SelectedItems[0].Tag; if (tag != null) { articuloSeleccionado = (TipoArticulo)tag; this.DialogResult = DialogResult.OK; this.Close(); return(true); } } Mensaje mensaje = new Mensaje("Debe seleccionar un Artículo.", Mensaje.TipoMensaje.Alerta, Mensaje.Botones.OK); mensaje.ShowDialog(); return(false); }
public IU_ActualizarTiposArticulo() { TipoArticulo = new TipoArticulo(); Sub1TipoArticulo = new Sub1TipoArticulo(); Sub2TipoArticulo = new Sub2TipoArticulo(); Sub3TipoArticulo = new Sub3TipoArticulo(); InitializeComponent(); }
protected override void agregar() { Articulo = new TipoArticulo(); //limpiarControles(gpbDatos); limpiarControles(this); gpbDatos.Enabled = true; dgvComposicion.Enabled = true; txtNombre.Focus(); }
public async Task <Response> PutTipoArticulo(TipoArticulo tipoArticulo) { _context.Entry(tipoArticulo).State = EntityState.Modified; await _context.SaveChangesAsync(); return(new Response { Mensaje = $"Tipo de Articulo {tipoArticulo.Descripcion} modificado correctamente" }); }
private static TipoArticulo mapearTipoArticulo(DataRow row) { TipoArticulo ta = new TipoArticulo(); ta.Descripcion = row["descripcion"].ToString(); ta.FechaBaja = row["fecha_baja"] as DateTime?; ta.IdtipoArticulo = Convert.ToInt32(row["idtipo_articulo"]); return(ta); }
private DataTable updateTipoArticulo(TipoArticulo ta) { string sql = @"UPDATE tipo_articulo SET descripcion = :p1, fecha_baja = :p2 WHERE idtipo_articulo=:p3"; return(conn.GetDT(sql, ta.Descripcion, ta.FechaBaja, ta.IdtipoArticulo)); }
public static TipoArticuloDTO DeModeloADTO(TipoArticulo tipoArticulo) { return(tipoArticulo != null ? new TipoArticuloDTO { id = tipoArticulo.id, Descripcion = tipoArticulo.Descripcion, Tipo = tipoArticulo.Tipo, Estado = tipoArticulo.Estado } : null); }
private void cboArticulo_SelectedIndexChanged(object sender, EventArgs e) { TipoArticulo articulo = cboArticulo.SelectedItem != null ? ((TipoArticulo)((ComboBoxItem)cboArticulo.SelectedItem).Value) : null; if (articulo != null) { txtUnidad.Text = Global.Servicio.obtenerUnidades().Where(u => u.id == articulo.idUnidad).First().abreviatura; } else { txtUnidad.Text = ""; } }
private void cargarComboSub1TipoArticulo() { cbx_seleccionaSubTipo1.DisplayMember = "Descripcion"; cbx_seleccionaSubTipo1.ValueMember = "CodigoSub1TipoArticulo"; if (cbx_seleccionarTipo.Items.Count == 0) { cbx_seleccionaSubTipo1.DataSource = TipoArticulo.mostrarSubCategoria(0); } else { cbx_seleccionaSubTipo1.DataSource = TipoArticulo.mostrarSubCategoria(int.Parse(cbx_seleccionarTipo.SelectedValue.ToString())); } }
public void tomarDatosSub1TipoArticulo() { if (rbtn_nombreTipo.Checked) { Sub1TipoArticulo.CodigoTipoArticulo = TipoArticulo.mostrarCodigoUltimoRegistro(); Sub1TipoArticulo.Descripcion = txt_nombreSubTipo1.Text; } else { Sub1TipoArticulo.CodigoTipoArticulo = int.Parse(cbx_seleccionarTipo.SelectedValue.ToString()); Sub1TipoArticulo.Descripcion = txt_nombreSubTipo1.Text; } }
private void cboArticulo_SelectedIndexChanged(object sender, EventArgs e) { TipoArticulo tipoArt = cboArticulo.SelectedItem != null ? ((TipoArticulo)((ComboBoxItem)cboArticulo.SelectedItem).Value) : null; if (tipoArt != null) { Cargador.cargarLotes(cboLote, tipoArt, 1, "Sin Seleccionar..."); } else { cboLote.Items.Clear(); } }
//BOTONES private void btn_actualizar_Click(object sender, EventArgs e) { if (rbtn_nombreTipo.Checked && txt_nombreTipo.Text == "") { MessageBox.Show(this, "Debe ingresar el nombre de la categoría", "ADVERTENCIA", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (rbtn_nombreSubTipo1.Checked && txt_nombreSubTipo1.Text == "") { MessageBox.Show(this, "Debe ingresar el nombre de la subcategoría", "ADVERTENCIA", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (rbtn_nombreSubTipo2.Checked && txt_nombreSubTipo2.Text == "") { MessageBox.Show(this, "Debe ingresar el nombre de la subcategoría", "ADVERTENCIA", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (rbtn_nombreSubTipo3.Checked && txt_nombreSubTipo3.Text == "") { MessageBox.Show(this, "Debe ingresar el nombre de la subcategoría", "ADVERTENCIA", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { if (rbtn_nombreTipo.Checked) { tomarDatosTipoArticulo(); TipoArticulo.actualizar(TipoArticulo); } if (rbtn_nombreSubTipo1.Checked) { tomarDatosSub1TipoArticulo(); Sub1TipoArticulo.actualizar(Sub1TipoArticulo); } if (rbtn_nombreSubTipo2.Checked) { tomarDatosSub2TipoArticulo(); Sub2TipoArticulo.actualizar(Sub2TipoArticulo); } if (rbtn_nombreSubTipo3.Checked) { tomarDatosSub3TipoArticulo(); Sub3TipoArticulo.actualizar(Sub3TipoArticulo); } if (rbtn_elegirtipo.Checked && rbtn_elegirSubTipo1.Checked && rbtn_elegirSubTipo2.Checked && rbtn_elegirSubTipo3.Checked) { MessageBox.Show(this, "No ha modificado ninguna categoría o subcategoría", "ADVERTENCIA", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show(this, "Se ha modificado correctamente el tipo de artículo", "TIPO DE ARTICULO", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); reestablecerFormulario(); } } }
public async Task <Response> PostTipoArticulo([FromBody] TipoArticulo tipoArticulo) { try { if (!ModelState.IsValid) { return(new Response { IsSuccess = false, Message = Mensaje.ModeloInvalido }); } var respuesta = Existe(tipoArticulo); if (!respuesta.IsSuccess) { db.TipoArticulo.Add(tipoArticulo); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.Satisfactorio }); } return(new Response { IsSuccess = false, Message = Mensaje.Satisfactorio }); } catch (Exception ex) { await GuardarLogService.SaveLogEntry(new LogEntryTranfer { ApplicationName = Convert.ToString(Aplicacion.SwRm), ExceptionTrace = ex, Message = Mensaje.Excepcion, LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical), LogLevelShortName = Convert.ToString(LogLevelParameter.ERR), UserName = "", }); return(new Response { IsSuccess = false, Message = Mensaje.Error, }); } }
protected override bool guardar() { Articulo.nombre = txtNombre.Text; Articulo.idUnidad = cboUnidad.SelectedItem != null ? ((Unidad)((ComboBoxItem)cboUnidad.SelectedItem).Value).id : -1; if (cboUnidadStock.SelectedIndex != 0 && cboUnidadStock.SelectedIndex != -1) { Articulo.idUnidadStock = ((Unidad)((ComboBoxItem)cboUnidadStock.SelectedItem).Value).id; } Articulo.ComposicionArticulos.Clear(); foreach (DataGridViewRow fila in dgvComposicion.Rows) { if (!fila.IsNewRow) { ComposicionArticulos compHijo = (ComposicionArticulos)fila.Tag; compHijo.cantComposicion = decimal.Parse(fila.Cells["clmCant"].FormattedValue.ToString()); compHijo.factorConversion = decimal.Parse(fila.Cells["clmFactor"].FormattedValue.ToString()); Articulo.ComposicionArticulos.Add(compHijo); } } try { string cadenaMensaje = ""; // Guardamos los datos del Articulo if (Estado == Estados.Agregar) { Articulo = Global.Servicio.agregarArticulo(Articulo, Global.DatosSesion); cadenaMensaje = "Artículo dado de Alta exitosamente."; } else { Global.Servicio.actualizarArticulo(Articulo, Global.DatosSesion); cadenaMensaje = "Artículo Modificado con éxito."; } // Mostramos mensaje de éxito Mensaje mensaje = new Mensaje(string.Format(cadenaMensaje, Articulo.nombre), Mensaje.TipoMensaje.Exito, Mensaje.Botones.OK); mensaje.ShowDialog(); // Indica que el Articulo se guardó correctamente return(true); } catch (Exception ex) { Mensaje unMensaje = new Mensaje(ex.Message, Mensaje.TipoMensaje.Error, Mensaje.Botones.OK); unMensaje.ShowDialog(); } return(false); }
private void cboArticulo_SelectedIndexChanged(object sender, EventArgs e) { TipoArticulo tipoArt = cboArticulo.SelectedItem != null ? ((TipoArticulo)((ComboBoxItem)cboArticulo.SelectedItem).Value) : null; if (tipoArt != null) { Cargador.cargarLotes(cboLote, tipoArt, 2, "Sin Seleccionar..."); lblUnidad.Text = tipoArt.Unidad1 != null ? tipoArt.Unidad1.abreviatura : "Sin unidad"; } else { cboLote.Items.Clear(); } }
private TipoArticulo buscarTipoArticulo(int idTipoArticulo) { int id = Convert.ToInt32(idTipoArticulo); DataTable dt = selectTipoArticulo(id); if (dt == null || dt.Rows.Count == 0) { throw new ExcepcionPropia("No se ha encontrado el tipo de articulo"); } DataRow row = dt.Rows[0]; TipoArticulo ta = mapearTipoArticulo(row); return(ta); }
protected override bool buscar(int numeroRegistros, bool esBusquedaInicial) { // Obtenemos los datos de búsqueda TipoArticulo tipoArticulo = cboArticulo.SelectedItem != null && !cboArticulo.SelectedItem.ToString().Equals("Sin especificar") ? ((TipoArticulo)((ComboBoxItem)cboArticulo.SelectedItem).Value) : null; //Si en la apertura del frm no existen entidades para mostrar, //no debe mostrarse el frm. if (esBusquedaInicial && !existenEntidades()) { Mensaje mensaje = new Mensaje("No existen datos cargados para la entidad.", Mensaje.TipoMensaje.Informacion, Mensaje.Botones.OK); mensaje.ShowDialog(); return(false); } try { // Obtenemos el resultado List <Lote> resultado = Global.Servicio.buscarLotes(tipoArticulo, txtNroLote.Text, numeroRegistros); // Listamos los clientes foreach (Lote lote in resultado) { DateTime fecCierre = new DateTime(); if (lote.fechaCierre != null) { fecCierre = (DateTime)lote.fechaCierre; } string[] datos = new string[] { lote.numero, lote.TipoArticulo.nombre, lote.fechaInicio.ToString("dd/MM/yyyy"), lote.fechaCierre == null ? "" : fecCierre.ToString("dd/MM/yyyy") }; ListViewItem item = new ListViewItem(datos); item.Tag = lote; ltvBusqueda.Items.Add(item); } if (resultado.Count <= 0 && !esBusquedaInicial) { Mensaje mensaje = new Mensaje("Sin resultados.", Mensaje.TipoMensaje.Informacion, Mensaje.Botones.OK); mensaje.ShowDialog(); } } catch (Exception ex) { Mensaje unMensaje = new Mensaje(ex.Message, Mensaje.TipoMensaje.Error, Mensaje.Botones.OK); unMensaje.ShowDialog(); } return(true); }