private async void button5_Click(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedRows.Count == 0)
            {
                MessageBox.Show("Debe seleccionar almenos una fila para eliminarla",
                                "Aviso", MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                return;
            }
            showLoading();
            bool hayDepartamentosConPuestos = false;

            var rowsIndex = new List <int>();

            for (int i = 0; i < dataGridView1.SelectedRows.Count; i++)
            {
                rowsIndex.Add(Convert.ToInt32(dataGridView1.SelectedRows[i].Cells["Id"].FormattedValue.ToString()));
            }

            foreach (var deptId in rowsIndex)
            {
                if (await _departamentoService.ValidateIfHasPuestos(deptId))
                {
                    var dpt = _departamentoService.GetById(deptId).Nombre;
                    hayDepartamentosConPuestos = true;
                    MessageBox.Show("El departamento " + dpt + " no se puede eliminar pues posee puestos activos",
                                    "Atención",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                }
            }

            if (hayDepartamentosConPuestos)
            {
                hideLoading();
                return;
            }

            await _departamentoService.DeleteManyAsync((await _departamentoService.GetAllByIds(rowsIndex)).ToList());

            update_dataGridView();
            string accionRealizada = dataGridView1.SelectedRows.Count > 1
                    ? accionRealizada = "han eliminado los registros"
                    : accionRealizada = "ha eliminado el registro";

            MessageBox.Show("Se " + accionRealizada + " correctamente", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Information);
            hideLoading();
        }