package lista1.ex2.Controller;


import java.util.ArrayList;
import java.util.Date;
import lista1.ex2.Model.Chamado;
import lista1.ex2.Model.Cliente;
import lista1.ex2.Model.Tecnico;
import lista1.ex2.Model.TipoChamado;
import lista1.ex2.Utils.IChamado;
import lista1.ex2.Utils.IControladorChamados;
import lista1.ex2.Utils.ITipoChamado;

/*
 * Universidade Federal de Santa Catarina.
 * CTC - Centro Tecnologico - http://ctc.ufsc.br
 * INE - Departamento de Informatica e Estatistica - http://inf.ufsc.br
 */
/**
 *
 * @author Jean Hauck <jean.hauck at ufsc.br>
 * @date 08/09/2015
 */
public class ControladorChamados implements IControladorChamados {

    private ArrayList<Chamado> chamados = new ArrayList<>();
    private ArrayList<TipoChamado> tiposChamados = new ArrayList<>();

    @Override
    public int getTotalChamadosPorTipo(TipoChamado tipo) {
        int i = 0;
        for (Chamado chamado : chamados) {
            if (chamado.getTipo() == tipo) {
                i = i + 1;
            }
        }
        return i;
    }

    @Override
    public IChamado incluiChamado(Date data, Cliente cliente, Tecnico tecnico, String titulo, String descricao, int prioridade, TipoChamado tipo) {
        Chamado chamado = new Chamado(cliente, descricao, prioridade, tecnico, tipo, titulo);
        chamados.add(chamado);

        return chamado;
    }

    @Override
    public ITipoChamado incluiTipoChamado(int codigo, String nome, String descricao) {
        TipoChamado tipoChamado = new TipoChamado();
        tiposChamados.add(tipoChamado);

        return tipoChamado;
    }

}
