private void DgvRol_CellClick(object sender, DataGridViewCellEventArgs e) { //Funciona solo cuando el usuario hace click en una fila (no en la cabecera) if (e.RowIndex == -1) { return; } //Obtengo el rol correspondiente a la fila seleccionada a partir del ID (primer columna de la fila) var selectedRole = _roles.Find(role => role.Descripcion == (string)DgvRol.Rows[e.RowIndex].Cells[0].Value); if (selectedRole != null) { //Cargo la lista de funcionalidades del rol LstFuncionalidades.DataSource = selectedRole.Funcionalidades; //El usuario tocó el botón de modificar if (e.ColumnIndex == 2) { var insertUpdateVisibility = new FrmABMInsertUpdateRol(selectedRole); insertUpdateVisibility.ShowDialog(); //Si modificó satisfactoriamante el rol, actualizo la grilla if (insertUpdateVisibility.CompleteAction) { RefreshSources(null); } } else if (e.ColumnIndex == 3) { //El usuario tocó el botón de eliminar //El rol seleccionado ya se encuentra eliminado (baja lógica) if (!selectedRole.Activo) { MessageBox.Show("No se puede eliminar la funcionalidad ya que ya se encuentra desactivada", "Atencion"); return; } //Esta tratando de eliminar el rol con el que esta logueado (no lo permito) if (selectedRole.ID == SessionManager.CurrentRol.ID) { MessageBox.Show("No se puede eliminar el rol ya que es el rol con el que actualmente se encuentra logueado", "Atencion"); return; } var dialogAnswer = MessageBox.Show(string.Format("Esta seguro que quiere desactivar el rol {0}?", selectedRole.Descripcion), "Atención", MessageBoxButtons.YesNo); if (dialogAnswer == DialogResult.Yes) { //Defino que ya no este más activo el rol e impacto en la base de datos selectedRole.Activo = false; RolPersistance.Update(selectedRole, null); //Vuelvo a cargar la lista de roles RefreshSources(null); } } } }
private void LblNuevo_Click(object sender, EventArgs e) { var insertUpdateForm = new FrmABMInsertUpdateRol(null); insertUpdateForm.ShowDialog(); //Paso NULL para volver a obtener todos los registros de la base RefreshSources(null); }
private void DgvRol_CellClick(object sender, DataGridViewCellEventArgs e) { //Funciona solo cuando el usuario hace click en una fila (no en la cabecera) if (e.RowIndex == -1) return; //Obtengo el rol correspondiente a la fila seleccionada a partir del ID (primer columna de la fila) var selectedRole = _roles.Find(role => role.Descripcion == (string)DgvRol.Rows[e.RowIndex].Cells[0].Value); if (selectedRole != null) { //Cargo la lista de funcionalidades del rol LstFuncionalidades.DataSource = selectedRole.Funcionalidades; //El usuario tocó el botón de modificar if (e.ColumnIndex == 2) { var insertUpdateVisibility = new FrmABMInsertUpdateRol(selectedRole); insertUpdateVisibility.ShowDialog(); //Si modificó satisfactoriamante el rol, actualizo la grilla if (insertUpdateVisibility.CompleteAction) RefreshSources(null); } else if (e.ColumnIndex == 3) { //El usuario tocó el botón de eliminar //El rol seleccionado ya se encuentra eliminado (baja lógica) if (!selectedRole.Activo) { MessageBox.Show("No se puede eliminar la funcionalidad ya que ya se encuentra desactivada", "Atencion"); return; } //Esta tratando de eliminar el rol con el que esta logueado (no lo permito) if (selectedRole.ID == SessionManager.CurrentRol.ID) { MessageBox.Show("No se puede eliminar el rol ya que es el rol con el que actualmente se encuentra logueado", "Atencion"); return; } var dialogAnswer = MessageBox.Show(string.Format("Esta seguro que quiere desactivar el rol {0}?", selectedRole.Descripcion), "Atención", MessageBoxButtons.YesNo); if (dialogAnswer == DialogResult.Yes) { //Defino que ya no este más activo el rol e impacto en la base de datos selectedRole.Activo = false; RolPersistance.Update(selectedRole, null); //Vuelvo a cargar la lista de roles RefreshSources(null); } } } }