public void CadastrarConsulta(AtributosConsulta atrConsulta) { if (!String.IsNullOrEmpty(atrConsulta.Observacoes) || !String.IsNullOrEmpty(atrConsulta.Comentario) || atrConsulta.Satisfacao != -1) { throw new Exception("Atributos da consulta invalido! Dados demais!"); } if ((atrConsulta.Status != 'n' && atrConsulta.Status != 's' && atrConsulta.Status != 'c') || String.IsNullOrEmpty(atrConsulta.Proposito) || atrConsulta.Horario == null || String.IsNullOrEmpty(atrConsulta.EmailMedico) || String.IsNullOrEmpty(atrConsulta.EmailPaciente)) { throw new Exception("Atributos da consulta invalido! Faltando dados!"); } //a consulta tem que ser marcada antes para depois realiza-la (5 minutos de tolerancia) DateTime agoraComTolerancia; if (DateTime.Now.Minute < MINUTOS_DE_TOLERANCIA) { agoraComTolerancia = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour - 1, 60 - MINUTOS_DE_TOLERANCIA + DateTime.Now.Minute, DateTime.Now.Second); } else { agoraComTolerancia = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute - MINUTOS_DE_TOLERANCIA, DateTime.Now.Second); } if (atrConsulta.Horario.CompareTo(DateTime.Now) < 0) { throw new Exception("Consulta tem que ser depois do horário atual! Tolerância: " + MINUTOS_DE_TOLERANCIA + " minutos."); } if (!Medico.HorarioConsultaEhLivre(atrConsulta, this.conexaoBD)) { throw new Exception("Médico estará em outra consulta!"); } if (!Paciente.HorarioConsultaEhLivre(atrConsulta, this.conexaoBD)) { throw new Exception("Paciente estará em outra consulta!"); } //proposito, horario, umaHora, observacoes, status, emailMedico, emailPac this.conexaoBD.ExecuteInUpDel("insert into consulta(proposito, horario, umaHora, status, emailMedico, emailPac, jahMandouEmailSMS) " + "values('" + atrConsulta.Proposito + "', '" + atrConsulta.Horario + "', " + (atrConsulta.UmaHora?"1":"0") + ", '" + atrConsulta.Status + "', '" + atrConsulta.EmailMedico + "', '" + atrConsulta.EmailPaciente + "', 0)"); }
public static bool HorarioConsultaEhLivre(AtributosConsulta atrConsulta, ConexaoBD conexaoBD) { AtributosConsultaCod[] vetor = Consulta.ConsultasOcorrendoEmHorarioOutraConsulta(atrConsulta, atrConsulta.EmailMedico, null, conexaoBD); return(vetor == null); }
public static AtributosConsultaCod[] ConsultasOcorrendoEmHorarioOutraConsulta(AtributosConsulta atributosConsulta, string emailMedico, string emailPaciente, ConexaoBD conexaoBD) { return(Consulta.AuxConsultasOcorrendoEmHorario(atributosConsulta.Horario, atributosConsulta.UmaHora, emailMedico, emailPaciente, conexaoBD)); }