package br.com.doctors.converters.consulta;
import java.util.LinkedHashMap;
import java.util.Map;
import org.joda.time.format.DateTimeFormatter;
import br.com.doctors.modelo.agendamento.Agendamento;
import br.com.doctors.modelo.consultas.Consulta;
import br.com.doctors.modelo.util.ParametrosAgendamento;
import br.com.doctors.util.json.JSONObject;
public class ConsultaJSon implements JSONObject{
private Map<String,String> atributos;
private Long id;
private transient ParametrosAgendamento parametros;
public ConsultaJSon(Agendamento agendamento, ParametrosAgendamento parametros){
this.atributos = new LinkedHashMap<String, String>();
this.id = agendamento.getId();
this.parametros = parametros;
configuraAtributos(agendamento);
}
private void configuraAtributos(Agendamento agendamento) {
DateTimeFormatter dataFormatter = parametros.getDataFormatter();
addAtributo("data", agendamento.getDataAgendamento().toString(dataFormatter));
addAtributo("nomeMedico", agendamento.getMedico().getNome());
Consulta consulta = agendamento.getConsulta();
addAtributo("queixaPrincipal", consulta.getQueixaPrincipal());
addAtributo("observacoes", consulta.getObservacoes());
DocumentoConverter docConverter = new DocumentoConverter();
addAtributo("documentos", docConverter.converte(consulta.getDocumentos()));
}
private void addAtributo(String nomeAtributo, String valorAtributo) {
atributos.put(nomeAtributo, valorAtributo);
}
@Override
public Long getId() {
return id;
}
@Override
public Map<String, String> getCells() {
return atributos;
}
@Override
public String toString() {
return atributos.toString();
}
}