package br.com.livreprogramacao.estacionamento.service;

import br.com.livreprogramacao.entity.marca.Marca;
import br.com.livreprogramacao.entity.modelo.Modelo;
import br.com.livreprogramacao.entity.ticket.Ticket;
import java.util.ArrayList;
import java.util.List;

public class EstacionamentoService {

    private final List<Marca> marcaCollection = new ArrayList<>(10);
    private final List<Modelo> modeloCollection = new ArrayList<>(10);
    private final List<Ticket> ticketCollection = new ArrayList<>(10);

    public EstacionamentoService() {

        Long marcaId = 1L;
        String nomeMarca = "Chevrolet";
        Marca chevrolet = new Marca(marcaId, nomeMarca);
        marcaCollection.add(chevrolet);

        Long modeloId = 1L;
        String nomeModelo = "Blazer";
        Modelo blazer = new Modelo(modeloId, nomeModelo);
        modeloCollection.add(blazer);

        Long ticketId = 1L;
        String placa = "HJK-7858";
        Ticket ticketBlazer = new Ticket(ticketId, chevrolet, blazer, placa);
        ticketCollection.add(ticketBlazer);
    }

    public List<Marca> getMarcas() {
        return marcaCollection;
    }

    public List<Modelo> getModelos() {
        return modeloCollection;
    }

    public List<Ticket> getTickets() {
        System.out.println("Ticket - Get all resources!");
        return ticketCollection;
    }

    public void add(Ticket resource) {
        System.out.println("Resource Ticket added!");
    }

    public void delete(Ticket resource) {
        System.out.println("Resource Ticket deleted!");
    }

    public void update(Ticket resource) {
        System.out.println("Resource Ticket updated!");
    }
}

@@ -50,16 +50,326 @@
 rvice;%0A%0A
+import br.com.livreprogramacao.calculadora.CalculadoraMarcaEstacionamento;%0Aimport br.com.livreprogramacao.calculadora.CalculadoraMarcaModeloEstacionamento;%0Aimport br.com.livreprogramacao.calculadora.CalculadoraOutrosEstacionamento;%0Aimport br.com.livreprogramacao.calculadora.CalculadoraPlacaB99Estacionamento;%0A
 import b
@@ -567,16 +567,47 @@
 il.List;
+%0Aimport javax.validation.Valid;
 %0A%0Apublic
@@ -2010,10 +2010,656 @@
 ;%0A    %7D%0A
+    %0A    public void calcularValor(Ticket ticket) %7B%0A        executarCalculadora(ticket);%0A    %7D%0A%0A    private void executarCalculadora(@Valid Ticket ticket) %7B%0A        Integer valor1 = new CalculadoraMarcaEstacionamento().resultado(ticket);%0A        Integer valor2 = new CalculadoraMarcaModeloEstacionamento().resultado(ticket);%0A        Integer valor3 = new CalculadoraPlacaB99Estacionamento().resultado(ticket);%0A        Integer valor4 = new CalculadoraOutrosEstacionamento().resultado(ticket);%0A        Integer valor = valor1+valor2+valor3+valor4;%0A        System.out.format(%22Debug -- valor cobrado R$ %25s para o Ticket %25s%22, valor, ticket);%0A    %7D%0A    %0A
 %7D%0A

Add calcularValor() method.