Example #1
0
        private void DgvRol_CellContentClick(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 rolSeleccionado = _roles.Find(r => r.Descripcion == (string)DgvRol.Rows[e.RowIndex].Cells[0].Value);

            if (rolSeleccionado != null)
            {
                //Cargo la lista de funcionalidades del rol
                LstFuncionalidades.DataSource = rolSeleccionado.Funcionalidades;

                //El usuario tocó el botón de modificar
                if (e.ColumnIndex == 2)
                {
                    var altasModificacionesVisibilidad = new FrmABMRolAltasModificaciones(rolSeleccionado);
                    altasModificacionesVisibilidad.ShowDialog();

                    //Si modificó satisfactoriamante el rol, actualizo la grilla
                    if (altasModificacionesVisibilidad.AccionCompleta)
                        ActualizarPantalla(null);
                }
                else if (e.ColumnIndex == 3)
                {
                    //El usuario tocó el botón de inhabilitar

                    //El rol seleccionado ya se encuentra eliminado (baja lógica)
                    if (!rolSeleccionado.Habilitado)
                    {
                        MessageBox.Show("No se puede eliminar el rol ya que ya se encuentra inhabilitada", "Atencion");
                        return;
                    }

                    //Esta tratando de eliminar el rol administrador (no lo permito)
                    if (rolSeleccionado.Descripcion == "Administrador")
                    {
                        MessageBox.Show("No se puede inhabilitar el rol administrador", "Atencion");
                        return;
                    }

                    var dialogAnswer = MessageBox.Show(string.Format("Esta seguro que quiere inhabilitar el rol {0}?", rolSeleccionado.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
                        rolSeleccionado.Habilitado = false;
                        RolPersistencia.Actualizar(rolSeleccionado, null);

                        //Vuelvo a cargar la lista de roles
                        ActualizarPantalla(null);
                    }
                }
            }
        }
Example #2
0
        private void BtnNuevo_Click(object sender, EventArgs e)
        {
            FrmABMRolAltasModificaciones frmABMRolAM = new FrmABMRolAltasModificaciones(null);
            frmABMRolAM.ShowDialog();

            //Paso NULL para volver a obtener todos los registros de la base
            ActualizarPantalla(null);
        }