}// 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 Crucero(CruceroBuilder cruceroBuilder) { this.modelo = cruceroBuilder.getModelo(); this.marca = cruceroBuilder.getMarca(); this.identificador = cruceroBuilder.getIdentificador(); this.fechaAlta = cruceroBuilder.getFechaAlta(); this.tipoServicio = cruceroBuilder.getTipoServicio(); }
// Botón para guardar los cambios en los campos de un crucero con viajes asignados, es decir, solo // se guardan sus atributos principales, no sus cabinas private void btnGuardarSinCabinas_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; } // 6. En este punto ya tenemos un crucero correctamente construido y listo para ser ACTUALIZADO (incluyendo sus cabinas) try { crucero.actualizarCrucero(identificadorCruceroAnterior); MensajeBox.info("El crucero se actualizo correctamente."); } catch (ActualizarCruceroException ex) { ex.mensajeError(); return; } }
/*** 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()