package br.com.alura.screenmatch.repository;
import br.com.alura.screenmatch.model.Categoria;
import br.com.alura.screenmatch.model.Serie;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
import java.util.Optional;
public interface SerieRepository extends JpaRepository<Serie, Long> {
Optional<Serie> findByTituloContainingIgnoreCase(String nomeSerie);
List<Serie> findByAtoresContainingIgnoreCaseAndAvaliacaoGreaterThanEqual(String nomeAtor, Double avaliacao);
List<Serie> findTop2ByOrderByAvaliacaoDesc();
List<Serie> findByGenero(Categoria genero);
List<Serie> findByTotalTemporadasLessThanEqualAndAvaliacaoGreaterThanEqual(int numeroTemporadas, double avaliacao);
}
private void buscarSeriesMaxTemporadaEAvaliacao() {
System.out.println("Informe o numero maximo de temporadas");
var numeroTemporadas = leitura.nextInt();
System.out.println("Informe a avaliação: ");
var avaliacao = leitura.nextDouble();
List<Serie> series = repository.findByTotalTemporadasLessThanEqualAndAvaliacaoGreaterThanEqual(numeroTemporadas, avaliacao);
series.forEach(s -> {
System.out.printf("%s avaliação: %.2f\n", s.getTitulo(), s.getAvaliacao());
});
}