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()