private async void executeAnular() { // Verificando la existencia de datos en el datagridview if (dataGridView.Rows.Count == 0) { MessageBox.Show("No hay un registro seleccionado", "Desactivar o anular", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } // Pregunta de seguridad de anular DialogResult dialog = MessageBox.Show("¿Está seguro de anular este registro?", "Anular", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (dialog == DialogResult.No) { return; } try { int index = dataGridView.CurrentRow.Index; // Identificando la fila actual del datagridview currentCategoria = new Categoria(); //creando una instancia del objeto categoria currentCategoria.idCategoria = Convert.ToInt32(dataGridView.Rows[index].Cells[0].Value); // obteniedo el idCategoria del datagridview // Comprobando si la categoria ya esta desactivado if (categorias.Find(x => x.idCategoria == currentCategoria.idCategoria).estado == 0) { MessageBox.Show("Este registro ya esta desactivado", "Desactivar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } // Procediendo con las desactivacion Response response = await categoriaModel.desactivar(currentCategoria); MessageBox.Show(response.msj, "Desactivar", MessageBoxButtons.OK, MessageBoxIcon.Information); cargarRegistros(); // recargando los registros en el datagridview } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message, "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }