// Cambiamos el comportamiento del botón Enviar nuevo recorrido: Ahora será el botón Guardar los cambios del recorrido editado override protected void btnEnviar_Click(object sender, EventArgs e) // Botón GUARDAR { // 1. Primero actualizamos el identificador del recorrido // Seteamos el identificador al recorrido y validamos que no sea nulo o cadena vacía try { recorrido.setIdentificador(txtbxCodRecorrido.Text); } catch (IdentificadorCruceroNullException ex) { ex.mensajeError(); return; } // Validamos que el código de recorrido éste disponible string identificadorRecorridoEditado = txtbxCodRecorrido.Text; // Puede ser igual al anterior if (Recorrido.identificadorDisponibleEditarRecorrido(identificadorRecorridoAEditar, identificadorRecorridoEditado, pkRecorridoAEditar).Equals(false)) { MensajeBox.error("El identificador ingresado para el recorrido ya se encuentra en uso en otro recorrido diferente a éste. Por favor, pruebe con uno diferente."); return; } // 2. Borramos todos los tramos en la BD del recorrido a editar Recorrido.eliminarTramos(pkRecorridoAEditar); // 3. Insertamos los nuevos tramos seleccionados para el recorrido a editar recorrido.actualizar(identificadorRecorridoAEditar); MensajeBox.info("El recorrido se actualizo correctamente"); this.Close(); // Cerramos el formulario de editar recorrido }
}// FIN btnEnviar_Click() /*** MODIFICACIÓN DE CRUCERO EXISTENTE ***/ private void btnGuardar_Click(object sender, EventArgs e) { string identificadorCruceroAnterior = identificadorCrucero; // 1. Obtenemos los atributos del crucero this.cargarCampos(); // 2. Construimos el objeto crucero Crucero crucero; try { crucero = new CruceroBuilder() .setModelo(modelo) .setMarca(marca) .setIdentificador(identificadorA, identificadorB) .setTipoServicio(this.obtenerTipoServicio()) .buildCrucero(); } catch (CamposObligatoriosVaciosException ex) { ex.mensajeError(); return; } // 3. Validamos que se haya ingresado al menos una cabina int cantidadCabinas = calcularCantidadCabinas(); try { Cabina.validarCantidadCabinas(cantidadCabinas); } catch (CruceroSinCabinasException ex) { ex.mensajeError(); return; } // 4. Guardamos las cabinas ingresadas en el crucero guardarCabinas(crucero, cantidadCabinas); // 5. Validamos que no haya cabinas repetidas (Numero-Piso debería ser único por crucero) if (crucero.hayCabinasRepetidas()) { MensajeBox.error("Cabinas repetidas: Hay cabinas con igual número y piso. Revise los datos e intente nuevamente."); return; } // 6. En este punto ya tenemos un crucero correctamente construido y listo para ser ACTUALIZADO (incluyendo sus cabinas) try { crucero.actualizar(identificadorCruceroAnterior); MensajeBox.info("El crucero se actualizo correctamente."); } catch (ActualizarCruceroException ex) { ex.mensajeError(); return; } } // FIN btnGuardar_Click()
public static int cantidad(string usuario) { string consulta = "SELECT COUNT(rol) FROM LOS_BARONES_DE_LA_CERVEZA.Roles_Por_Usuario WHERE usuario = @usuario_elegido"; List <Parametro> parametros = new List <Parametro>(); Parametro param = new Parametro("@usuario_elegido", SqlDbType.NVarChar, usuario, 100); parametros.Add(param); Query miConsulta = new Query(consulta, parametros); try { int cantidadRoles = (int)miConsulta.ejecutarEscalar(); if (cantidadRoles.Equals(DEF.NINGUN_ROL)) { MensajeBox.error("Error al cargar los roles. El usuario no tienen ningún rol asignado."); return(DEF.ERROR); } else if (cantidadRoles.Equals(DEF.UNICO_ROL)) { return(DEF.UNICO_ROL); } else { return(DEF.MAS_DE_UN_ROL); } } catch (Exception ex) { MensajeBox.error("Error al cargar los roles. Info: " + ex.ToString()); return(DEF.ERROR); } } // FIN cantidad()
} // FIN rolHabilitado() // @IMPORTANTE: Puede que ande para recuperar las funcionalidades totales de varios roles public static List <string> funcionalidadesUnicoRol(string usuario) { string consulta = "SELECT funcionalidad" + " FROM LOS_BARONES_DE_LA_CERVEZA.Funcionalidades_Por_Roles fpr" + " JOIN LOS_BARONES_DE_LA_CERVEZA.Roles_Por_Usuario rpu" + " ON fpr.rol = rpu.rol" + " WHERE usuario = @usuario_elegido"; List <Parametro> parametros = new List <Parametro>(); Parametro param = new Parametro("@usuario_elegido", SqlDbType.NVarChar, usuario, 100); parametros.Add(param); Query miConsulta = new Query(consulta, parametros); List <string> funcionalidades; try { funcionalidades = miConsulta.ejecutarReaderUnicaColumna(); return(funcionalidades); } catch (Exception ex) { MensajeBox.error("Error al cargar las funcionalidades. Info: " + ex.ToString()); return(null); } } // FIN recuperarUnicoRol()
} // FIN cantidad() public static bool rolHabilitado(string usuario) { string consulta = "SELECT habilitado" + " FROM LOS_BARONES_DE_LA_CERVEZA.Roles r" + " JOIN LOS_BARONES_DE_LA_CERVEZA.Roles_por_Usuario rpu" + " ON r.nombre_rol = rpu.rol" + " WHERE rpu.usuario = @usuario"; List <Parametro> parametros = new List <Parametro>(); Parametro param = new Parametro("@usuario", SqlDbType.NVarChar, usuario, 100); parametros.Add(param); bool habilitado; try { Query miConsulta = new Query(consulta, parametros); habilitado = (bool)miConsulta.ejecutarEscalar(); if (habilitado.Equals(true)) { return(true); // El rol está habilitado } else { return(false); // El rol NO está habilitado } } catch (Exception ex) { MensajeBox.error("Error al cargar el rol. Info: " + ex.ToString()); return(false); } } // FIN rolHabilitado()
private void btnEnviar_Click(object sender, EventArgs e) { // 1. Validamos que el precio sea correcto if (String.IsNullOrEmpty(txtbxNuevoPrecioA.Text)) { MensajeBox.error("Debe ingresar un precio válido."); return; } // 2. Obtenemos el nuevo precio ingresado if (txtbxNuevoPrecioB.Text.Equals("")) { txtbxNuevoPrecioB.Text = "00"; } double nuevoPrecio = Convert.ToDouble(txtbxNuevoPrecioA.Text + "," + txtbxNuevoPrecioB.Text); // 3. Seteamos el nuevo precio al tramo seleccionado y lo actualizamos this.tramo.setPrecio(nuevoPrecio); try { this.tramo.actualizarPrecio(); } catch { MensajeBox.error("No se pudo actualizar el precio del tramo seleccionado. Intente nuevamente o contacte al administrador."); return; } // 4. Informamos del éxito en la actualización del precio y cerramos MensajeBox.info("El precio se actualizó correctamente."); this.Close(); }
private void btnIngresarAdmins_Click(object sender, EventArgs e) { if (this.hayCamposNulos()) { MensajeBox.error("Hay campos obligatorios sin completar."); } else { this.verificarUsuario(); } }
private void btnEnviar_Click(object sender, EventArgs e) { // 1. Validamos que se haya seleccionado un puerto de inicio y fin if (cmbxPuertoInicio.SelectedValue == null || cmbxPuertoFin.SelectedValue == null) { MensajeBox.error("Debe seleccionar un puerto de origen y destino."); return; } // 2. Validamos que el precio sea correcto if (String.IsNullOrEmpty(txtbxPrecioA.Text)) { MensajeBox.error("Debe ingresar un precio válido."); return; } // 3. Obtenemos el puerto de inicio, puerto de fin y precio ingresdos string puertoInicio = cmbxPuertoInicio.SelectedValue.ToString(); string puertoFin = cmbxPuertoFin.SelectedValue.ToString(); if (txtbxPrecioB.Text.Equals("")) { txtbxPrecioB.Text = "00"; } double precio = Convert.ToDouble(txtbxPrecioA.Text + "," + txtbxPrecioB.Text); // 4. Construimos el objeto tramo y lo insertamos Tramo tramo = new Tramo(puertoInicio, puertoFin, Convert.ToDouble(precio)); try { tramo.insertar(); } catch { MensajeBox.error("Hubo un error al insertar el nuevo tramo. Por favor, intente nuevamente o contacte al administrador"); return; } // 5. Mostramos el mensaje de confirmación MensajeBox.info("El nuevo tramo se inserto correctamente."); // 6. Después de insertar debo recargar el cmbx de puerto de inicio y de fin para descartar el tramo recién insertado OrdenCmbxPuertosInicio ordenPostInsert = new OrdenPostInsert(); this.cargarCbmxPuertosInicio(ordenPostInsert); }
virtual protected void btnEnviar_Click(object sender, EventArgs e) { // Seteamos el identificador al recorrido objeto y validamos que no sea nulo o cadena vacía try { recorrido.setIdentificador(txtbxCodRecorrido.Text); } catch (IdentificadorCruceroNullException ex) { ex.mensajeError(); return; } // Validamos que el código de recorrido éste disponible if (Recorrido.identificadorDisponibleRecorridoNuevo(recorrido.getIdentificador()).Equals(false)) { MensajeBox.error("El identificador ingresado para el recorrido ya se encuentra registrado. Por favor, pruebe con uno diferente."); return; } // Validamos que se haya seleccionado al menos un tramo para el nuevo recorrido if (recorrido.ningunTramo()) { MensajeBox.error("Debe seleccionar al menos un tramo."); return; } // En este punto ya tenemos un recorrido correctamente construido y listo para ser INSERTADO try { recorrido.insertar(); MensajeBox.info("El recorrido se dió de alta correctamente."); } catch (InsertarRecorridoException ex) { ex.mensajeError(); return; } } // FIN btnEnviar_Click
private void btnAceptar_Click(object sender, EventArgs e) { DateTime fechaDesde = ArchivoConfig.obtenerFechaConfig(); DateTime fechaHasta = dtpFechaHasta.Value; // Validamos que la fecha de reinicio sea posterior a la actual (el sistema la toma del archivo de configuración) if (DateTime.Compare(fechaDesde, fechaHasta) > 0) { MensajeBox.error("La fecha de reinicio debe ser posterior a la actual."); return; } string consulta = "UPDATE LOS_BARONES_DE_LA_CERVEZA.Cruceros " + "SET baja_fuera_servicio = 1 " + "WHERE identificador = @identificador; " + "INSERT INTO LOS_BARONES_DE_LA_CERVEZA.Cruceros_Fuera_Servicio " + "(id_crucero, fecha_inicio_fuera_servicio, fecha_fin_fuera_servicio) " + "SELECT id_crucero, @fecha_desde, @fecha_hasta " + "FROM LOS_BARONES_DE_LA_CERVEZA.Cruceros " + "WHERE identificador = @identificador "; List <Parametro> parametros = new List <Parametro>(); Parametro paramIdCrucero = new Parametro("@identificador", SqlDbType.NVarChar, identificadorCruceroST, 50); parametros.Add(paramIdCrucero); Parametro paramFechaDesde = new Parametro("@fecha_desde", SqlDbType.NVarChar, fechaDesde.ToString("yyyy-MM-dd h:mm tt"), 255); parametros.Add(paramFechaDesde); Parametro paramFechaHasta = new Parametro("@fecha_hasta", SqlDbType.NVarChar, fechaHasta.ToString("yyyy-MM-dd h:mm tt"), 255); parametros.Add(paramFechaHasta); Query miConsulta = new Query(consulta, parametros); miConsulta.ejecutarNonQuery(); this.Close(); }
public void mensajeError() { MensajeBox.error("La fecha de fin del viaje debe ser posterior a la fecha de inicio del mismo."); }
public void mensajeError() { MensajeBox.error("Error al actualizar el crucero. Intente nuevamente o contacte al administrador."); }
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()
public override void mensajeError() { MensajeBox.error("Debe ingresar un campo identificador para el recorrido."); }
public virtual void mensajeError() { MensajeBox.error("Hay campos obligatorios sin completar."); }
public void mensajeError() { MensajeBox.error("Error al insertar el recorrido. Intente nuevamente o contacte al administrador."); }
public void mensajeError() { MensajeBox.error("No ha seleccionado un crucero para el viaje. Por favor, seleccione uno."); }
public void mensajeError() { MensajeBox.error("La fecha de inicio del viaje debe ser posterior a la actual (fecha de archivo de configuración)."); }
public void procesarResultado(string nombreUsuario) { MensajeBox.error("Contraseña incorrecta."); }
public void mensajeError() { MensajeBox.error("No ha seleccionado ningún recorrido para el nuevo viaje. Por favor, seleccione uno."); }
public void procesarResultado(string nombreUsuario) { MensajeBox.error("No existe el usuario."); }
public void mensajeError() { MensajeBox.error("Hubo un error al insertar el viaje. Por favor, intente nuevamente o contacte al administrador."); }
} // 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()
/*** ALTA DE NUEVO CRUCERO ***/ private void btnAlta_Click(object sender, EventArgs e) { // 1. Obtenemos los atributos del crucero this.cargarCampos(); DateTime fechaAlta = ArchivoConfig.obtenerFechaConfig(); // 2. Construimos el objeto crucero Crucero crucero; try { crucero = new CruceroBuilder() .setModelo(modelo) .setMarca(marca) .setIdentificador(identificadorA, identificadorB) .setFechaAlta(fechaAlta) .setTipoServicio(this.obtenerTipoServicio()) .buildCrucero(); } catch (CamposObligatoriosVaciosException ex) { ex.mensajeError(); return; } // 3. Validamos que el identificador del crucero esté disponible if (Crucero.identificadorDisponible(crucero.getIdentificador()).Equals(false)) { MensajeBox.error("El identificador ingresado para el crucero ya se encuentra registrado."); return; } // 4. Validamos que se haya ingresado al menos una cabina int cantidadCabinas = calcularCantidadCabinas(); try { Cabina.validarCantidadCabinas(cantidadCabinas); } catch (CruceroSinCabinasException ex) { ex.mensajeError(); return; } // 5. Guardamos las cabinas ingresadas en el objeto crucero guardarCabinas(crucero, cantidadCabinas); // 6. Validamos que no haya cabinas repetidas (Numero-Piso debería ser único por crucero) if (crucero.hayCabinasRepetidas()) { MensajeBox.error("Cabinas repetidas: Hay cabinas con igual número y piso. Revise los datos e intente nuevamente."); return; } // 7. En este punto ya tenemos un crucero correctamente construido y listo para ser INSERTADO (incluyendo sus cabinas) try { crucero.insertar(); MensajeBox.info("El crucero se dió de alta correctamente."); } catch (InsertarCruceroException ex) { ex.mensajeError(); return; } }// FIN btnEnviar_Click()
public void mensajeError() { MensajeBox.error("Debe ingresar al menos una cabina."); }