private void btnAgregarFuncionalidades_Click(object sender, EventArgs e) { if (String.IsNullOrWhiteSpace(nombreRol.Text)) { MessageBox.Show("Nombre de rol vacío. Inserte el nombre del rol" , "FrbaCrucero", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Rol abm = new Rol(); int resultado = abm.crearRol(nombreRol.Text); if (resultado == 0) { MessageBox.Show("Ya existe un rol con ese nombre. Ingrese otro rol" , "FrbaCrucero", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { foreach (string a in listFuncionalidadesAAgregar.Items) { abm.agregarFuncionalidadARol(nombreRol.Text, a); } MessageBox.Show("Rol creado exitosamente", "FrbaCrucero", MessageBoxButtons.OK, MessageBoxIcon.Information); this.listFuncionalidadesAAgregar.Items.Clear(); this.nombreRol.Text = ""; } } /* * agregarRol(); * int cantidad = listFuncionalidadesAAgregar.Items.Count; * Rol abm = new Rol(); * if (listFuncionalidadesAAgregar.Items.Count<1) * { * MessageBox.Show("Selección vacía. Seleccione una funcionalidad para agregar", "FrbaCrucero", MessageBoxButtons.OK, MessageBoxIcon.Warning); * } * else * { * foreach(string a in listFuncionalidadesAAgregar.Items) * { * abm.agregarFuncionalidadARol(nombreRol.Text, a); * } * DataTable listaDeFuncionalidades = abm.getFuncionalidades(nombreRol.Text); * if (listaDeFuncionalidades.Rows.Count != 0) * { * DialogResult result = MessageBox.Show("Se Agregaron:" + cantidad.ToString() + " Funcionalidades", "FIDEOS_CON_TUCO", MessageBoxButtons.OK, MessageBoxIcon.Information); * if (result == DialogResult.OK) * { * DialogResult result2 = MessageBox.Show("Desea agregar alguna funcionalidad más a este rol?", "FIDEOS_CON_TUCO", MessageBoxButtons.YesNo, MessageBoxIcon.Information); * if (result2 == DialogResult.Yes) * { * foreach (DataRow fila in listaDeFuncionalidades.Rows) * { * listFuncionalidadesNoAgregadas.Items.Add(fila[0].ToString()); * } * } * else * { * this.Close(); * } * } * } * else * { * MessageBox.Show("Todas las funcionalidades del sistema han sido asignadas al rol. Ingrese un nuevo rol", "FrbaCrucero", MessageBoxButtons.OK, MessageBoxIcon.Information); * nombreRol.Enabled = true; * listFuncionalidadesNoAgregadas.Items.Clear(); * listFuncionalidadesNoAgregadas.Enabled = false; * btnAgregarFuncionalidades.Enabled = false; * } * } */ }
} // FIN SeleccionRolForm_Load() // Abrimos la pantalla de edición para editar el rol seleccionado, con los datos que ya tenga cargados private void dgvEditarRoles_CellClick(object sender, DataGridViewCellEventArgs e) { var senderGrid = (DataGridView)sender; rolAEditar = Convert.ToString(dgvRoles.Rows[e.RowIndex].Cells["Nombre rol"].Value); // Se presiono el botón Editar if ((senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)) { CrearRolForm formEditarRol = new CrearRolForm(rolAEditar); formEditarRol.ShowDialog(); // Limpiamos el el datagridview para que no queden datos obsoletos DGVUtils.limpiar(dgvRoles); conexion = new ConexionBD(); Rol.cargarRolesEdicion(conexion, dgvRoles); //dgvRoles.CellClick += dgvEditarRoles_CellClick; // Evento para el botón Editar contador++; return; } //} // FIN contador // Se presiono el checkbox Habilitar/Deshabilitar rol if (e.ColumnIndex == DEF.INDICE_COLUMNA_HABILITAR_ROL && e.RowIndex >= 0) { dgvRoles.CommitEdit(DataGridViewDataErrorContexts.Commit); // Chequeamos el valor del checkbox Habilitar if (dgvRoles.CurrentCell.Value.GetType() == typeof(bool)) { if ((bool)dgvRoles.CurrentCell.Value == false) { // Habilitar rol bool resultado = Rol.habilitar(rolAEditar); if (resultado.Equals(true)) { MensajeBox.info("El rol se habilito correctamente."); } else { MensajeBox.error("No se pudo habilitar el rol seleccionado."); } } else { //Deshabilitar rol bool resultado = Rol.deshabilitar(rolAEditar); if (resultado.Equals(true)) { MensajeBox.info("Rol deshabilitado correctamente."); } else { MensajeBox.error("No se pudo deshabilitar el rol seleccionado."); } } } // FIN chequeamos el valor del checkbox conexion = new ConexionBD(); conexion.cerrar(); return; } // FIN se presiono el checkbox Habilitar/Deshabilitar rol } // FIN dgvEditarRoles_CellClick()
public FormAMRol(Rol unRol, bool esAlta, Boolean habilitado) { InitializeComponent(); funcionesAgregadas.Clear(); funcionesNoAgregadas.Clear(); rol = unRol; txt_nombre.Text = rol.nombre; txt_nombre.Enabled = false; if (esAlta) { chk_habilitado.Visible = false; chk_habilitado.Checked = habilitado; List <Funcion> funciones = Function.ObtenerFunciones(); foreach (Funcion item in funciones) { funcionesNoAgregadas.Add(item); } lst_funciones_no_agregadas.DataSource = funcionesNoAgregadas; lst_funciones_no_agregadas.DisplayMember = "NOMBRE"; lst_funciones_agregadas.DataSource = funcionesAgregadas; lst_funciones_agregadas.DisplayMember = "Nombre"; } else { if (habilitado) { chk_habilitado.Checked = true; } else { chk_habilitado.Checked = false; } List <Funcion> fadd = Function.ObtenerFuncionesPorRol(rol.id); foreach (Funcion item in fadd) { funcionesAgregadas.Add(item); } lst_funciones_agregadas.DataSource = funcionesAgregadas; lst_funciones_agregadas.DisplayMember = "Nombre"; List <Funcion> fNotadd = Function.ObtenerFuncionesNoAsignadasPorRol(rol.id); foreach (Funcion item in fNotadd) { funcionesNoAgregadas.Add(item); } lst_funciones_no_agregadas.DataSource = funcionesNoAgregadas; lst_funciones_no_agregadas.DisplayMember = "Nombre"; } }
private void nuevoRol_Click(object sender, EventArgs e) { var nuevoRol = new AbmRol.Rol(MainInit.session); nuevoRol.Show(); }
private void populateFuncionalidades(Rol rol) { table_funcionalidades.DataSource = rolDao.getFuncionalidadesXRol(rol); }
private void btnCrearRol_Click(object sender, EventArgs e) { // 1. Primero obtenemos el nombre del nuevo rol que el usuario ingreso string nombreRol = txtbxNombreRol.Text; // 2. Validamos que haya NO se haya ingresado un nombre vacío if (NombreRol.campoNombreVacío(nombreRol).Equals(true)) { MensajeBox.error("Debe ingresar un nombre para el rol."); return; } // 3. Si se está modificando el Rol_Cliente, validamos que NO se esté modificando el nombre del rol if (rolAEditar.Equals(DEF.ROL_CLIENTE) && !nombreRol.Equals(DEF.ROL_CLIENTE)) { MensajeBox.info("No se puede cambiar el nombre del rol Cliente"); return; } // 3. Validamos que el nombre del rol esté disponible if (nombreRol != rolAEditar) { if (NombreRol.estaDisponible(nombreRol).Equals(false)) { MensajeBox.error("El nombre elegido para el rol ya se encuentra en uso. Por favor, ingrese uno diferente."); return; } } // Si nombreRol != rolAEditar significa que estamos en modo edición y el usuario // cambió el nombre del rol. // 4. Capturamos los checkbox de funcionalidades seleccionados Dictionary <string, bool> funcionalidades = Funcionalidades.seleccionadas(chbxAbmCruceros.Checked, chbxAbmPuertos.Checked, chbxAbmRecorridos.Checked, chbxAbmRol.Checked, chbxComprarReservarViaje.Checked, chbxGenerarViaje.Checked, chbxListadosEstadisticos.Checked, chbxPagoReserva.Checked); // 5. Validamos que el usuario haya seleccionado al menos una funcionalidad if (Funcionalidades.alMenosUna(funcionalidades).Equals(false)) { // El usuario NO selecciono ninguna funcionalidad MensajeBox.error("Debe seleccionar al menos una funcionalidad."); return; } // 6. En este punto ya podemos insertar o actualizar el nuevo rol en la BD if (modo.Equals("EDICION")) { /*** INICIO MODO EDICIÓN ***/ // rolAEditar tiene el valor del nombre de rol anterior y nombreRol el nuevo bool rolActualizado = Rol.actualizar(rolAEditar, nombreRol, funcionalidades); if (rolActualizado.Equals(true)) { MensajeBox.info("El rol se actualizó correctamente."); rolAEditar = nombreRol; // El rol anterior ahora es el nuevo rol return; } else { MensajeBox.error("El rol no se pudo actualizar."); return; } } /*** FIN MODO EDICIÓN ***/ // Si no estamos en modo edición es que vamos a insertar un rol nuevo bool rolInsertado = Rol.insertar(nombreRol, funcionalidades); if (rolInsertado.Equals(true)) { // El rol se inserto correctamente MensajeBox.info("El nuevo rol se creo correctamente."); return; } else { // El rol NO se pudo insertar MensajeBox.error("El nuevo rol no se pudo crear. Intente nuevamente."); return; } } // FIN btnCrearRol_Click()