private void btnGuardar_Click(object sender, EventArgs e) { //Aca armo el articulo correctamente con todos los atributos asignados desde los txt try { objArt.ID_ART = Convert.ToInt32(txtId.Text); } catch (System.FormatException) { objArt.ID_ART = -1; } try { objArt.PRECIOUNITARIO = Convert.ToInt32(txtPrecio.Text); } catch (System.FormatException) { objArt.PRECIOUNITARIO = -1; } objArt.NOMBRE = txtNombre.Text; objArt.DESCRIPCION = txtDescripcion.Text; objArt.ID_TIPO = (int)cmbTipo.SelectedValue; ArticuloDA.ValidacionArticulo validacion = articuloDA.ValidarDatosArticulo(objArt); if (validacion == ArticuloDA.ValidacionArticulo.exito) { if (this.flagNuevo == true) { articuloDA.guardarArticulo(objArt); this.flagNuevo = false; //Flag para saber si grabamos una actualizacion o insercion } else { articuloDA.modificarArticulo(objArt); } MessageBox.Show("El articulo se guardo con exito!", "Guardado exitoso"); this.grdArticulos.DataSource = articuloDA.recuperarArticulos(); //Recargo la grilla despues de guardar this.limpiar(); this.HabilitarModoEdicion(false); } else { string mensaje; switch (validacion) { case ArticuloDA.ValidacionArticulo.descripcion: mensaje = "Descripcion vacia"; break; case ArticuloDA.ValidacionArticulo.id: mensaje = "ID invalido"; break; case ArticuloDA.ValidacionArticulo.nombre: mensaje = "Nombre invalido"; break; case ArticuloDA.ValidacionArticulo.preciounitario: mensaje = "Precio unitario invalido"; break; default: mensaje = "Error"; break; } MessageBox.Show(mensaje, "Error"); } }