package br.com.doctors.converters.agendamento;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import org.joda.time.LocalDate;
import org.joda.time.LocalTime;
import br.com.doctors.modelo.util.ParametrosAgendamento;
public class AgendaJsonHorariosLivres implements AgendaJson{
private ParametrosAgendamento parametros;
private Map<LocalTime,HorarioJsonSimples> mapaHorariosLivres;
private Long contador;
private LocalDate data;
public AgendaJsonHorariosLivres(ParametrosAgendamento parametros, LocalDate data) {
this.parametros = parametros;
this.data = data;
this.mapaHorariosLivres = new TreeMap<LocalTime,HorarioJsonSimples>();
contador = new Long(1L);
}
@Override
public List<? extends HorarioJson> getHorariosJSON(){
return new ArrayList<HorarioJsonSimples>(mapaHorariosLivres.values());
}
@Override
public void addHorario(AgendaDoDia agenda, LocalTime horario) {
if (!agenda.temAgendamentoEm(horario)){
adicionaHorarioLivre(horario);
}
}
private void adicionaHorarioLivre(LocalTime horaAtual){
HorarioJsonSimples horarioJson = new HorarioJsonSimples(contador++, data, horaAtual, parametros);
mapaHorariosLivres.put(horaAtual, horarioJson);
}
}