package com.aluracursos.screenmatch.model;
import java.time.LocalDate;
import java.time.format.DateTimeParseException;
public class Episodio {
private Integer temporada;
private String titulo;
private Integer numeroEpisodio;
private Double evaluacion;
private LocalDate fechaDeLanzamiento;
public Episodio(Integer numero, DatosEpisodio d) {
this.temporada = numero;
this.titulo = d.titulo();
this.numeroEpisodio = d.numeroEpisodio();
try {
this.evaluacion = Double.valueOf(d.evaluacion());
}catch (NumberFormatException e){
this.evaluacion = 0.0;
}
try{
this.fechaDeLanzamiento = LocalDate.parse(d.fechaDeLanzamiento());
}catch (DateTimeParseException e){
this.fechaDeLanzamiento = null;
}
}
public Integer getTemporada() {
return temporada;
}
public void setTemporada(Integer temporada) {
this.temporada = temporada;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public Integer getNumeroEpisodio() {
return numeroEpisodio;
}
public void setNumeroEpisodio(Integer numeroEpisodio) {
this.numeroEpisodio = numeroEpisodio;
}
public Double getEvaluacion() {
return evaluacion;
}
public void setEvaluacion(Double evaluacion) {
this.evaluacion = evaluacion;
}
public LocalDate getFechaDeLanzamiento() {
return fechaDeLanzamiento;
}
public void setFechaDeLanzamiento(LocalDate fechaDeLanzamiento) {
this.fechaDeLanzamiento = fechaDeLanzamiento;
}
@Override
public String toString() {
return "temporada=" + temporada +
", titulo='" + titulo + '\'' +
", numeroEpisodio=" + numeroEpisodio +
", evaluacion=" + evaluacion +
", fechaDeLanzamiento=" + fechaDeLanzamiento;
}
}
/Búsqueda de episodios a partir de un año ingresado
System.out.println("Ingresa el año a partir del cual deseas ver los episodios.");
var fecha = teclado.nextInt();
teclado.nextLine();
LocalDate fechaBusqueda = LocalDate.of(fecha, 1,1);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/yyyy");
episodios.stream()
.filter(e -> e.getFechaDeLanzamiento() != null && e.getFechaDeLanzamiento().isAfter(fechaBusqueda))
.forEach(e -> System.out.println(
"Temporada " + e.getTemporada() +
" Episodio " + e.getTitulo() +
" Fecha de Lanzamiento " +e.getFechaDeLanzamiento().format(dtf)
));