Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
María Hidalgo
/
carpooling-dae
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
78dbe318
authored
Jan 11, 2024
by
María Hidalgo
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
añadidas funciones obtenerSolicitudesPendientes y obtenerPasajeros
parent
57bb271c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
44 additions
and
0 deletions
src/main/java/es/ujaen/dae/carpoolingdae/excepciones/ViajeCancelado.java
src/main/java/es/ujaen/dae/carpoolingdae/servicios/SistemaCarpooling.java
src/main/java/es/ujaen/dae/carpoolingdae/excepciones/ViajeCancelado.java
0 → 100644
View file @
78dbe318
package
es
.
ujaen
.
dae
.
carpoolingdae
.
excepciones
;
public
class
ViajeCancelado
extends
RuntimeException
{
public
ViajeCancelado
()
{
}
}
src/main/java/es/ujaen/dae/carpoolingdae/servicios/SistemaCarpooling.java
View file @
78dbe318
...
@@ -8,6 +8,7 @@ import jakarta.validation.constraints.NotNull;
...
@@ -8,6 +8,7 @@ import jakarta.validation.constraints.NotNull;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.Optional
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -19,6 +20,8 @@ import es.ujaen.dae.carpoolingdae.entidades.Viaje;
...
@@ -19,6 +20,8 @@ import es.ujaen.dae.carpoolingdae.entidades.Viaje;
import
es.ujaen.dae.carpoolingdae.entidades.Viaje.EstadoViaje
;
import
es.ujaen.dae.carpoolingdae.entidades.Viaje.EstadoViaje
;
import
es.ujaen.dae.carpoolingdae.excepciones.UsuarioNoRegistrado
;
import
es.ujaen.dae.carpoolingdae.excepciones.UsuarioNoRegistrado
;
import
es.ujaen.dae.carpoolingdae.excepciones.UsuarioYaRegistrado
;
import
es.ujaen.dae.carpoolingdae.excepciones.UsuarioYaRegistrado
;
import
es.ujaen.dae.carpoolingdae.excepciones.ViajeCancelado
;
import
es.ujaen.dae.carpoolingdae.excepciones.ViajeRealizado
;
import
es.ujaen.dae.carpoolingdae.repositorios.RepositorioUsuarios
;
import
es.ujaen.dae.carpoolingdae.repositorios.RepositorioUsuarios
;
import
es.ujaen.dae.carpoolingdae.repositorios.RepositorioViajes
;
import
es.ujaen.dae.carpoolingdae.repositorios.RepositorioViajes
;
...
@@ -111,6 +114,7 @@ public class SistemaCarpooling {
...
@@ -111,6 +114,7 @@ public class SistemaCarpooling {
.
filter
(
viaje
->
viaje
.
getEstado
()
==
EstadoViaje
.
PENDIENTE
)
.
filter
(
viaje
->
viaje
.
getEstado
()
==
EstadoViaje
.
PENDIENTE
)
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
}
}
/**
/**
* Enviar solicitud para ser pasajero de un viaje
* Enviar solicitud para ser pasajero de un viaje
...
@@ -130,4 +134,36 @@ public class SistemaCarpooling {
...
@@ -130,4 +134,36 @@ public class SistemaCarpooling {
repositorioViajes
.
actualizarViajes
(
viaje
);
repositorioViajes
.
actualizarViajes
(
viaje
);
}
}
/**
* Obtener solicitudes pendientes de un viaje
*
* @param viaje el viaje del que se obtendrán las solicitudes
* @return lista de solicitudes pendientes del viaje
*/
public
List
<
Usuario
>
obtenerSolicitudesPendientes
(
@NotNull
Viaje
viaje
)
{
// Verificar que el viaje esté en estado PENDIENTE
if
(
viaje
.
getEstado
()
!=
EstadoViaje
.
PENDIENTE
)
{
throw
new
ViajeRealizado
();
}
// Obtener las solicitudes pendientes del viaje
return
new
ArrayList
<>(
viaje
.
getUsuariosSolicitantes
());
}
/**
* Obtener pasajeros confirmados de un viaje
*
* @param viaje el viaje del que se obtendrán los pasajeros
* @return lista de pasajeros confirmados del viaje
*/
public
List
<
Usuario
>
obtenerPasajeros
(
@NotNull
Viaje
viaje
)
{
//Podemos ver los pasajeros antes y después del viaje
if
(
viaje
.
getEstado
()
!=
EstadoViaje
.
PENDIENTE
||
viaje
.
getEstado
()
!=
EstadoViaje
.
REALIZADO
)
{
throw
new
ViajeCancelado
();
}
// Obtener los pasajeros confirmados del viaje
return
new
ArrayList
<>(
viaje
.
getUsuariosConfirmados
());
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment