public static AtributosConsultaCod AtributosConsultaFromDataSet(DataSet dataSet, int i, ConexaoBD conexaoBD) { AtributosConsultaCod atributos = new AtributosConsultaCod(); atributos.CodConsulta = (int)dataSet.Tables[0].Rows[i].ItemArray[0]; atributos.Proposito = (string)dataSet.Tables[0].Rows[i].ItemArray[1]; atributos.SetHorario((DateTime)dataSet.Tables[0].Rows[i].ItemArray[2], conexaoBD); atributos.UmaHora = (bool)dataSet.Tables[0].Rows[i].ItemArray[3]; if (dataSet.Tables[0].Rows[i].ItemArray[4] != System.DBNull.Value) { atributos.Observacoes = (string)dataSet.Tables[0].Rows[i].ItemArray[4]; } atributos.Status = ((string)dataSet.Tables[0].Rows[i].ItemArray[5])[0]; atributos.SetEmailMedico((string)dataSet.Tables[0].Rows[i].ItemArray[6], conexaoBD); atributos.SetEmailPaciente((string)dataSet.Tables[0].Rows[i].ItemArray[7], conexaoBD); if (dataSet.Tables[0].Rows[i].ItemArray[8] != System.DBNull.Value) { atributos.Satisfacao = (int)dataSet.Tables[0].Rows[i].ItemArray[8]; } if (dataSet.Tables[0].Rows[i].ItemArray[9] != System.DBNull.Value) { atributos.Comentario = (string)dataSet.Tables[0].Rows[i].ItemArray[9]; } if (dataSet.Tables[0].Rows[i].ItemArray[10] != System.DBNull.Value) { atributos.HorarioSatisfacao = (DateTime)dataSet.Tables[0].Rows[i].ItemArray[10]; } if (dataSet.Tables[0].Rows[i].ItemArray[11] != System.DBNull.Value) { atributos.MedicoJahViuSatisfacao = (bool)dataSet.Tables[0].Rows[i].ItemArray[11]; } return(atributos); }
protected static AtributosConsultaCod[] AuxConsultasOcorrendoEmHorario(DateTime horarioRedondo, bool umaHora, string emailMedico, string emailPaciente, ConexaoBD conexaoBD) { DateTime horarioConsultaDe1HAntes; if (horarioRedondo.Minute == 0) { horarioConsultaDe1HAntes = new DateTime(horarioRedondo.Year, horarioRedondo.Month, horarioRedondo.Day, horarioRedondo.Hour - 1, 30, 0); } else { horarioConsultaDe1HAntes = new DateTime(horarioRedondo.Year, horarioRedondo.Month, horarioRedondo.Day, horarioRedondo.Hour, 0, 0); } string cmdSelect = "select codConsulta, proposito, horario, umaHora, observacoes, status, " + "emailMedico, emailPac, satisfacao, comentario, horarioSatisfacao from consulta where "; if (!String.IsNullOrEmpty(emailMedico)) { cmdSelect += " emailMedico = '" + emailMedico + "' and "; } if (!String.IsNullOrEmpty(emailPaciente)) { cmdSelect += " emailPac = '" + emailPaciente + "' and "; } cmdSelect += " (horario = '" + horarioRedondo + "' " + " or (horario = '" + horarioConsultaDe1HAntes + "' and umaHora = 1)"; if (umaHora) { DateTime horarioConsultaDe1HoraDepois = new DateTime(horarioRedondo.Year, horarioRedondo.Month, horarioRedondo.Day, (horarioRedondo.Minute == 0)?horarioRedondo.Hour:horarioRedondo.Hour + 1, (horarioRedondo.Minute == 0)?30:0, 0); cmdSelect += " or horario = '" + horarioConsultaDe1HoraDepois + "'"; } cmdSelect += ")"; DataSet dadosConsulta = conexaoBD.ExecuteSelect(cmdSelect); if (dadosConsulta.Tables[0].Rows.Count <= 0) { return(null); } AtributosConsultaCod[] atributosConsultas = new AtributosConsultaCod[dadosConsulta.Tables[0].Rows.Count]; for (int i = 0; i < dadosConsulta.Tables[0].Rows.Count; i++) { atributosConsultas[i] = Consulta.AtributosConsultaFromDataSet(dadosConsulta, i, conexaoBD); } return(atributosConsultas); }
public static AtributosConsultaCod DeCodigo(int codConsulta, ConexaoBD conexaoBD) { DataSet dataSet = conexaoBD.ExecuteSelect("select codConsulta, proposito, horario, umaHora, observacoes, status, " + "emailMedico, emailPac, satisfacao, comentario, horarioSatisfacao, medicoJahViuSatisfacao " + "from consulta where codConsulta = " + codConsulta); if (dataSet.Tables[0].Rows.Count != 1) { return(null); } AtributosConsultaCod atributos = Consulta.AtributosConsultaFromDataSet(dataSet, 0, conexaoBD); return(atributos); }
public void AtualizarDadosConsulta(AtributosConsultaCod atributos) { switch (atributos.Status) { case 'n': //'n' -> tem que ser no dia de hoje ou depois e observacoes tem que ser nulo DateTime finalHoje = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59); if (atributos.Horario == null || atributos.Horario.CompareTo(finalHoje) < 0) { throw new Exception("Uma consulta antes de hoje tem que não pode ser \"ainda não ocorrida\"!"); } if (!String.IsNullOrEmpty(atributos.Observacoes)) //se observacoes nao eh nulo { throw new Exception("Se a consulta foi cancelada não se pode ter observações!"); } break; case 'c': //'c' -> observacoes tem que ser null if (!String.IsNullOrEmpty(atributos.Observacoes)) //se observacoes nao eh nulo { throw new Exception("Se a consulta foi cancelada não se pode ter observações!"); } break; case 's': //'s' -> o horario da consulta tem que ser depois da atual e observacoes tem que ter alguma coisa if (atributos.Horario == null || DateTime.Now.CompareTo(atributos.Horario) < 0) // se ainda nao foi { throw new Exception("Para o status ser \"ocorrido\" o horário da consulta tem que ser antes do horário atual!"); } if (String.IsNullOrEmpty(atributos.Observacoes)) //se observacoes eh nulo { throw new Exception("A observação não pode ser nula para o status ser \"ocorrido\"!"); } break; } if ((atributos.Status != 'n' && atributos.Status != 's' && atributos.Status != 'c') || String.IsNullOrEmpty(atributos.Proposito) || atributos.Horario == null) { throw new Exception("Atributos da consulta invalido! Faltando dados!"); } //proposito, medico, paciente, horario, duracao, status, observações this.conexaoBD.ExecuteInUpDel("update consulta set proposito='" + atributos.Proposito + "', horario='" + atributos.Horario + "', " + "umaHora= " + (atributos.UmaHora ? "1" : "0") + ", " + "status='" + atributos.Status + "', observacoes='" + atributos.Observacoes + "' " + "where codConsulta = " + atributos.CodConsulta); }
//acoes de paciente public void RegistrarSatisfacao(AtributosConsultaCod atributosConsulta) { // ADICIONAR SATISFACAO (E TALVEZ COMENTARIO) if (String.IsNullOrEmpty(atributosConsulta.Comentario)) { this.conexaoBD.ExecuteInUpDel("update consulta set " + " satisfacao = " + atributosConsulta.Satisfacao + ", medicoJahViuSatisfacao = 0, " + " horarioSatisfacao = '" + atributosConsulta.HorarioSatisfacao + "' where codConsulta=" + atributosConsulta.CodConsulta); } else { this.conexaoBD.ExecuteInUpDel("update consulta set comentario = '" + atributosConsulta.Comentario + "', satisfacao = " + atributosConsulta.Satisfacao + ", medicoJahViuSatisfacao = 0, horarioSatisfacao = '" + atributosConsulta.HorarioSatisfacao + "' where codConsulta=" + atributosConsulta.CodConsulta); } }
public static AtributosConsultaCod[] TodasAsConsultas(ConexaoBD conexaoBD) { DataSet dataSet = conexaoBD.ExecuteSelect("select codConsulta, proposito, horario, umaHora, observacoes, status, " + "emailMedico, emailPac, satisfacao, comentario, horarioSatisfacao, medicoJahViuSatisfacao from consulta " + "order by horario desc"); if (dataSet.Tables[0].Rows.Count <= 0) { return(null); } AtributosConsultaCod[] atributos = new AtributosConsultaCod[dataSet.Tables[0].Rows.Count]; for (int i = 0; i < atributos.Length; i++) { atributos[i] = Consulta.AtributosConsultaFromDataSet(dataSet, i, conexaoBD); } return(atributos); }
public static AtributosConsultaCod[] ConsultasDe(string email, bool ehMedico, bool ordenarPorSatisfacao, ConexaoBD conexaoBD) { DataSet dataSet = conexaoBD.ExecuteSelect("select codConsulta, proposito, horario, umaHora, observacoes, status, " + "emailMedico, emailPac, satisfacao, comentario, horarioSatisfacao, medicoJahViuSatisfacao from consulta " + "where " + (ehMedico?"emailMedico":"emailPac") + " = '" + email + "' order by " + (ordenarPorSatisfacao? "horarioSatisfacao" : "horario") + " desc"); if (dataSet.Tables[0].Rows.Count <= 0) { return(null); } AtributosConsultaCod[] atributos = new AtributosConsultaCod[dataSet.Tables[0].Rows.Count]; for (int i = 0; i < atributos.Length; i++) { atributos[i] = Consulta.AtributosConsultaFromDataSet(dataSet, i, conexaoBD); } return(atributos); }
//acoes medico public void MudarObservacoes(AtributosConsultaCod atributosConsulta) { this.conexaoBD.ExecuteInUpDel("update consulta set observacoes = '" + atributosConsulta.Observacoes + "', status='s' " + "where codConsulta=" + atributosConsulta.CodConsulta); }