private void btnEliminar_Click(object sender, EventArgs e) { try { Cargo c = new Cargo(); clsPersonal pers = new clsPersonal(); List <Cargo> lst = pers.LeerListado(); if (dtgvCargo.Rows.Count > 0) { if (dtgvCargo.SelectedRows.Count > 0) { editar = true; c.Id_Cargo = Convert.ToInt32(dtgvCargo.CurrentRow.Cells["idC"].Value); foreach (Cargo item in lst) { if (item.Id_Cargo == c.Id_Cargo) { c.Nombre = item.Nombre; c.Descripcion = item.Descripcion; c.Estado = "No Disponible"; } } int ActualizarCliente = pers.Actualizar(c); if (ActualizarCliente == 1) { dtgvCargo.Rows.Clear(); CargarCargos(); btnGuardar.Visible = false; btnEditar.Visible = true; txtDescripcion.Text = "Descripción"; txtEstado.Text = "Estado"; txtNombre.Text = "Nombre"; } else { MessageBox.Show("Ocurrió un error, por favor vuelva a intentarlo o comuníquese con el soporte técnico.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); btnGuardar.Visible = false; btnEditar.Visible = true; txtDescripcion.Text = "Descripción"; txtEstado.Text = "Estado"; txtNombre.Text = "Nombre"; } } } } catch (DbUpdateException) { MessageBox.Show("Se ha producido un error al enviar actualizaciones a la base de datos."); } catch (DbEntityValidationException) { MessageBox.Show("La operación de guardar se anuló debido a que la validación de los valores de propiedad de la entidad falló."); } catch (NotSupportedException) { MessageBox.Show("Se intentó utilizar un comportamiento no compatible, como ejecutar varios comandos asíncronos simultáneamente en la misma instancia de contexto."); } catch (ObjectDisposedException) { MessageBox.Show("El contexto o la conexión han sido eliminados."); } catch (InvalidOperationException) { MessageBox.Show("Se produjo un error al intentar procesar las entidades en el contexto antes o después de enviar comandos a la base de datos."); } catch (SqlException ex) { MessageBox.Show("Error número: " + ex.Number + " - " + ex.Message); } catch (FormatException) { MessageBox.Show("El formato de un dato no corresponde con sus especificaciones"); } catch (OutOfMemoryException) { MessageBox.Show("No hay suficiente espacio de memoria para crear un objeto"); } catch (IndexOutOfRangeException) { MessageBox.Show("Error al intentar acceder a una celda de un arreglo cuyo índice está fuera de rango"); } catch (Exception ex) { MessageBox.Show(ex.Message); } }