Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Alvaro Ordóñez Romero
/
DAE-aha00026-aor00039
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
dbbe0144
authored
Oct 05, 2023
by
Alvaro Ordóñez Romero
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Adiciones de métodos para correcto funcionamiento
parent
b3f125b5
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
134 additions
and
25 deletions
src/main/java/com/carpooling/carpoolingaoraha/entidades/Reserva.java
src/main/java/com/carpooling/carpoolingaoraha/entidades/SistemaCarPooling.java
src/main/java/com/carpooling/carpoolingaoraha/entidades/Usuario.java
src/main/java/com/carpooling/carpoolingaoraha/entidades/Reserva.java
View file @
dbbe0144
...
...
@@ -2,40 +2,53 @@ package com.carpooling.carpoolingaoraha.entidades;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
import
com.carpooling.carpoolingaoraha.entidades.*
;
public
class
Reserva
{
private
static
int
incrementaReserva
=
0
;
private
int
idReserva
;
private
Usuario
conductor
;
private
ArrayList
<
Usuario
>
pasajeros
;
private
ArrayList
<
String
>
pasajeros
;
private
int
puntuacion
;
private
int
numPasajeros
;
private
Viaje
viaje
;
SistemaCarPooling
sistema
;
public
Reserva
(
Usuario
conductor
,
ArrayList
<
Usuario
>
pasajeros
,
int
puntuacion
,
Viaje
viaje
)
{
public
Reserva
(
Usuario
conductor
,
String
origen
,
String
destino
,
Date
fechaSalida
,
int
nAsientos
,
int
precioAsiento
)
{
this
.
conductor
=
conductor
;
this
.
pasajeros
=
pasajeros
;
this
.
puntuacion
=
puntuacion
;
this
.
viaje
=
viaje
;
this
.
idReserva
=
++
incrementaReserva
;
this
.
numPasajeros
=
nAsientos
;
this
.
viaje
=
new
Viaje
(
origen
,
destino
,
fechaSalida
,
nAsientos
,
precioAsiento
);
this
.
sistema
.
addViaje
(
this
.
viaje
);
this
.
sistema
.
addReserva
(
this
);
this
.
puntuacion
=
0
;
}
public
static
int
getIncrementaReserva
()
{
return
incrementaReserva
;
public
void
anadirPasajeros
(
String
DNI
,
int
idReserva
){
for
(
int
i
=
0
;
i
<
this
.
sistema
.
getReservas
().
size
();
i
++){
if
(
idReserva
==
this
.
sistema
.
getReservas
().
get
(
i
).
getIdReserva
()){
this
.
sistema
.
getReservas
().
get
(
i
).
addPasajero
(
DNI
);
}
}
}
public
static
void
setIncrementaReserva
(
int
incrementaReserva
)
{
Reserva
.
incrementaReserva
=
incrementaReserva
;
public
void
anadirPuntuacion
(
int
punt
){
this
.
conductor
.
setPuntuacion
(
punt
);
}
public
boolean
haySitioDisponible
(){
if
(
this
.
numPasajeros
==
pasajeros
.
size
())
return
false
;
else
return
true
;
}
public
int
getIdReserva
()
{
return
idReserva
;
}
public
void
setIdReserva
(
int
idReserva
)
{
this
.
idReserva
=
idReserva
;
}
public
Usuario
getConductor
()
{
return
conductor
;
}
...
...
@@ -44,14 +57,22 @@ public class Reserva {
this
.
conductor
=
conductor
;
}
public
ArrayList
<
Usuario
>
getPasajeros
()
{
public
ArrayList
<
String
>
getPasajeros
()
{
return
pasajeros
;
}
public
void
setPasajeros
(
ArrayList
<
Usuario
>
pasajeros
)
{
public
void
setPasajeros
(
ArrayList
<
String
>
pasajeros
)
{
this
.
pasajeros
=
pasajeros
;
}
public
int
getNumPasajeros
()
{
return
numPasajeros
;
}
public
void
setNumPasajeros
(
int
numPasajeros
)
{
this
.
numPasajeros
=
numPasajeros
;
}
public
int
getPuntuacion
()
{
return
puntuacion
;
}
...
...
@@ -67,4 +88,17 @@ public class Reserva {
public
void
setViaje
(
Viaje
viaje
)
{
this
.
viaje
=
viaje
;
}
public
void
addPasajero
(
String
DNI
){
this
.
pasajeros
.
add
(
DNI
);
}
public
boolean
esViajero
(
String
DNI
){
for
(
int
i
=
0
;
i
<
pasajeros
.
size
();
i
++){
if
(
DNI
==
pasajeros
.
get
(
i
)){
return
true
;
}
}
return
false
;
}
}
src/main/java/com/carpooling/carpoolingaoraha/entidades/SistemaCarPooling.java
View file @
dbbe0144
...
...
@@ -6,6 +6,7 @@ public class SistemaCarPooling {
private
String
nombre
;
private
List
<
Viaje
>
viajes
;
private
List
<
Usuario
>
usuarios
;
private
List
<
Reserva
>
reservas
;
public
String
getNombre
()
{
...
...
@@ -31,4 +32,19 @@ public class SistemaCarPooling {
public
void
setUsuarios
(
List
<
Usuario
>
usuarios
)
{
this
.
usuarios
=
usuarios
;
}
public
void
addViaje
(
Viaje
viaje
){
viajes
.
add
(
viaje
);
}
public
void
addReserva
(
Reserva
res
){
reservas
.
add
(
res
);
}
public
List
<
Reserva
>
getReservas
()
{
return
reservas
;
}
public
void
setReservas
(
List
<
Reserva
>
reservas
)
{
this
.
reservas
=
reservas
;
}
}
src/main/java/com/carpooling/carpoolingaoraha/entidades/Usuario.java
View file @
dbbe0144
package
com
.
carpooling
.
carpoolingaoraha
.
entidades
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
com.carpooling.carpoolingaoraha.entidades.*
;
enum
rol
{
import
static
com
.
carpooling
.
carpoolingaoraha
.
entidades
.
Rol
.
CONDUCTOR
;
import
static
com
.
carpooling
.
carpoolingaoraha
.
entidades
.
Rol
.
PASAJERO
;
enum
Rol
{
CONDUCTOR
,
PASAJERO
};
public
class
Usuario
{
SistemaCarPooling
sistemaCarPooling
;
private
String
nombre
;
private
String
apellidos
;
private
Date
FNac
;
...
...
@@ -16,12 +20,13 @@ public class Usuario {
private
String
email
;
private
String
claveAcceso
;
private
int
puntuacion
;
private
rol
rol
;
private
Rol
rol
;
private
ArrayList
<
Integer
>
viajesOfertados
;
private
SistemaCarPooling
sis
;
public
Usuario
(
String
nombre
,
String
apellidos
,
Date
FNac
,
String
DNI
,
int
telefono
,
String
email
,
String
claveAcceso
,
int
puntuacion
,
r
ol
rol
)
{
String
claveAcceso
,
R
ol
rol
)
{
this
.
nombre
=
nombre
;
this
.
apellidos
=
apellidos
;
this
.
FNac
=
FNac
;
...
...
@@ -29,8 +34,13 @@ public class Usuario {
this
.
telefono
=
telefono
;
this
.
email
=
email
;
this
.
claveAcceso
=
claveAcceso
;
this
.
puntuacion
=
puntuacion
;
this
.
puntuacion
=
0
;
this
.
rol
=
rol
;
if
(
rol
==
CONDUCTOR
){
this
.
viajesOfertados
=
new
ArrayList
<>();
}
else
{
this
.
viajesOfertados
=
null
;
}
}
public
String
getNombre
()
{
...
...
@@ -94,17 +104,66 @@ public class Usuario {
}
public
void
setPuntuacion
(
int
puntuacion
)
{
this
.
puntuacion
=
puntuacion
;
this
.
puntuacion
+
=
puntuacion
;
}
public
r
ol
getRol
()
{
public
R
ol
getRol
()
{
return
rol
;
}
public
void
setRol
(
r
ol
rol
)
{
public
void
setRol
(
R
ol
rol
)
{
this
.
rol
=
rol
;
}
public
List
<
Viaje
>
buscarViaje
(
String
origen
,
String
destino
,
Date
fecha
,
rol
rol
)
public
void
cambiarRol
(){
if
(
this
.
rol
==
CONDUCTOR
){
rol
=
PASAJERO
;
}
else
{
rol
=
CONDUCTOR
;
}
}
public
boolean
ofrecerViaje
(
String
origen
,
String
destino
,
Date
fechaSalida
,
int
nAsientos
,
int
precioAsiento
){
if
(
this
.
rol
==
CONDUCTOR
)
{
//Crea una reserva
Reserva
reserva
=
new
Reserva
(
this
,
origen
,
destino
,
fechaSalida
,
nAsientos
,
precioAsiento
);
this
.
viajesOfertados
.
add
(
reserva
.
getIdReserva
());
return
true
;
}
return
false
;
}
public
boolean
aceptarPasajero
(
int
idReserva
,
String
DNI
,
Rol
rol
){
//Le pasamos el rol del conductor
if
(
rol
==
CONDUCTOR
){
for
(
int
i
=
0
;
i
<
this
.
sistemaCarPooling
.
getReservas
().
size
();
i
++){
if
(
idReserva
==
this
.
sistemaCarPooling
.
getReservas
().
get
(
i
).
getIdReserva
()
&&
this
.
sistemaCarPooling
.
getReservas
().
get
(
i
).
haySitioDisponible
()){
this
.
sistemaCarPooling
.
getReservas
().
get
(
i
).
anadirPasajeros
(
DNI
,
idReserva
);
}
}
return
true
;
}
return
false
;
}
public
boolean
asignarPuntuacion
(
int
idReserva
,
String
DNI
,
int
puntuacion
){
if
(
puntuacion
<=
5
)
{
for
(
int
i
=
0
;
i
<
this
.
sistemaCarPooling
.
getReservas
().
size
();
i
++)
{
if
(
idReserva
==
this
.
sistemaCarPooling
.
getReservas
().
get
(
i
).
getIdReserva
()
&&
this
.
sistemaCarPooling
.
getReservas
().
get
(
i
).
esViajero
(
DNI
))
{
this
.
sistemaCarPooling
.
getReservas
().
get
(
i
).
anadirPuntuacion
(
puntuacion
);
}
}
return
true
;
}
return
false
;
}
public
double
puntuacionMedia
(){
return
this
.
puntuacion
/
viajesOfertados
.
size
();
}
public
List
<
Viaje
>
buscarViaje
(
String
origen
,
String
destino
,
Date
fecha
,
Rol
rol
)
{
List
<
Viaje
>
c
=
sis
.
getViajes
();
return
c
;
...
...
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