//PARA TUDO
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Session["conexao"] == null)
     {
         Session["conexao"] = new ConexaoBD(WebConfigurationManager.ConnectionStrings["conexaoBD"].ConnectionString);
     }
 }
        public void SetHorario(DateTime value, ConexaoBD conexaoBD)
        {
            //Horario de atendimento: 9h-12h e 14h-17h
            if (!((value.Hour >= 9 && value.Hour < 12) || (value.Hour >= 14 && value.Hour < 17)))
            {
                throw new Exception("Horario de atendimento dos medicos eh de 9h-12h e 14h-17h!");
            }

            //30min ou 0min
            if (value.Minute != 0 && value.Minute != 30)
            {
                throw new Exception("Só pode haver consultas em horas cheias ou metades de horas.");
            }

            if (value.Second != 0)
            {
                throw new Exception("Só pode haver consultas em horas cheias ou metades de horas.");
            }

            DateTime aux = this.horario;

            this.horario = value;
            //verificar se paciente jah teria nascido nessa data (se o paciente jah foi adicionado)
            if (!String.IsNullOrEmpty(this.emailPaciente) && !this.PacienteJahNasceuAtehConsulta(conexaoBD))
            {
                this.horario = aux;
                throw new Exception("O paciente ainda não vai ter nascido até a data da consulta...");
            }
        }
Exemple #3
0
        public static void AdicionarAcesso(string email, TipoUsuario tipoUsuario, ConexaoBD conexaoBD)
        {
            char tipo;

            switch (tipoUsuario)
            {
            case TipoUsuario.paciente:
                tipo = 'p';
                break;

            case TipoUsuario.medico:
                tipo = 'm';
                break;

            case TipoUsuario.secretaria:
                tipo = 's';
                break;

            default:
                throw new Exception("Tipo de usuario invalido!");
            }

            conexaoBD.ExecuteInUpDel("insert into acesso values('" + DateTime.Now + "', '" + email + "', '" + tipo
                                     + "')");
        }
Exemple #4
0
        public Secretaria(string email, string senha, ConexaoBD conexaoBD)
        {
            if (!this.Login(email, senha, conexaoBD))
            {
                throw new Exception("Email ou senha errado!");
            }

            this.conexaoBD = conexaoBD;
        }
 public void SetEmailMedico(string value, ConexaoBD conexaoBD)
 {
     if (!ExAtributosSimples.EmailValido(value))
     {
         throw new Exception("Email invalido!");
     }
     if (!Medico.Existe(value, conexaoBD))
     {
         throw new Exception("Esse médico não existe!");
     }
     this.emailMedico = value;
 }
Exemple #6
0
        //todos os medicos
        public static string[,] GetTodosMedicos(ConexaoBD conexaoBD)
        {
            DataSet data = conexaoBD.ExecuteSelect("select email, nomeCompleto from medico");

            string[,] ret = new string[data.Tables[0].Rows.Count, 2];
            for (int i = 0; i < data.Tables[0].Rows.Count; i++)
            {
                ret[i, 0] = (string)data.Tables[0].Rows[i].ItemArray[0];
                ret[i, 1] = (string)data.Tables[0].Rows[i].ItemArray[1];
            }

            return(ret);
        }
Exemple #7
0
        //outros dados de medicos especificos (STATIC)
        public static AtributosMedico DeEmail(string email, ConexaoBD conexaoBD)
        {
            DataSet data = conexaoBD.ExecuteSelect("select email, nomeCompleto, crm, celular, telefoneResidencial, endereco, dataDeNascimento, caminhoFoto " +
                                                   " from medico where email='" + email + "'");

            if (data.Tables[0].Rows.Count <= 0)
            {
                throw new Exception("Esse medico nao existe!");
            }

            AtributosMedico atributos = new AtributosMedico();

            Medico.ColocarAtributosFromDs(ref atributos, 0, data);
            return(atributos);
        }
        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);
        }
Exemple #9
0
        protected bool Login(string email, string senha, ConexaoBD conexaoBD)
        {
            this.atributos = new AtributosMedico();
            this.atributos.AdicionarSenha(senha);

            DataSet data = conexaoBD.ExecuteSelect("select email, nomeCompleto, crm, celular, telefoneResidencial, endereco, dataDeNascimento, caminhoFoto " +
                                                   " from medico where email='" + email + "' and senha='" + this.atributos.SenhaCriptografada + "'");

            if (data.Tables[0].Rows.Count <= 0)
            {
                return(false);
            }

            Medico.ColocarAtributosFromDs(ref this.atributos, 0, data);
            return(true);
        }
        public void SetEmailPaciente(string value, ConexaoBD conexaoBD)
        {
            if (!ExAtributosSimples.EmailValido(value))
            {
                throw new Exception("Email invalido!");
            }
            AtributosPaciente atrPaciente = Paciente.DeEmail(value, conexaoBD);

            if (atrPaciente == null)
            {
                throw new Exception("Esse paciente não existe!");
            }
            if (this.horario != new DateTime() && !this.PacienteJahNasceuAtehConsulta(atrPaciente))
            {
                throw new Exception("O paciente ainda não vai ter nascido até a data da consulta...");
            }
            this.emailPaciente = value;
        }
Exemple #11
0
        protected bool Login(string email, string senha, ConexaoBD conexaoBD)
        {
            this.atributos = new AtributosSecretaria();
            this.atributos.AdicionarSenha(senha);

            DataSet data = conexaoBD.ExecuteSelect("select nomeCompleto, endereco " +
                                                   " from secretaria where email='" + email + "' and senha='" + this.atributos.SenhaCriptografada + "'");

            if (data.Tables[0].Rows.Count <= 0)
            {
                return(false);
            }

            this.atributos.NomeCompleto = (string)data.Tables[0].Rows[0].ItemArray[0];
            this.atributos.Endereco     = (string)data.Tables[0].Rows[0].ItemArray[1];

            return(true);
        }
        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 AtributosPaciente DeEmail(string email, ConexaoBD conexaoBD)
        {
            try
            {
                DataSet data = conexaoBD.ExecuteSelect("select email, nomeCompleto, celular, telefoneResidencial, endereco, dataDeNascimento, caminhoFoto " +
                                                       " from paciente where email='" + email + "'");
                if (data.Tables[0].Rows.Count <= 0)
                {
                    return(null);
                }

                AtributosPaciente atributos = new AtributosPaciente();
                Paciente.ColocarAtributosFromDs(ref atributos, 0, data);
                return(atributos);
            }
            catch (Exception e)
            {
                return(null);
            }
        }
 public static AtributosConsultaCod[] ConsultasOcorrendoEmHorarioOutraConsulta(AtributosConsulta atributosConsulta,
                                                                               string emailMedico, string emailPaciente, ConexaoBD conexaoBD)
 {
     return(Consulta.AuxConsultasOcorrendoEmHorario(atributosConsulta.Horario, atributosConsulta.UmaHora,
                                                    emailMedico, emailPaciente, conexaoBD));
 }
 protected bool PacienteJahNasceuAtehConsulta(ConexaoBD conexaoBD)
 {
     return(this.PacienteJahNasceuAtehConsulta(Paciente.DeEmail(this.emailPaciente, conexaoBD)));
 }
Exemple #16
0
        //cadastro
        public static bool Existe(string email, ConexaoBD conexaoBD)
        {
            DataSet data = conexaoBD.ExecuteSelect("select * from medico where email='" + email + "'");

            return(data.Tables[0].Rows.Count > 0);
        }
Exemple #17
0
 public static bool HorarioConsultaEhLivre(AtributosConsulta atrConsulta, ConexaoBD conexaoBD)
 {
     AtributosConsultaCod[] vetor = Consulta.ConsultasOcorrendoEmHorarioOutraConsulta(atrConsulta,
                                                                                      atrConsulta.EmailMedico, null, conexaoBD);
     return(vetor == null);
 }
        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);
        }
Exemple #19
0
        public static void AuxAdicionarImagem(ExAtributos atributos, bool ehPaciente, FileUpload fileUpload, ConexaoBD conexaoBD)
        {
            //deletar todas as imagens armazenadas desse paciente
            string caminho    = "~/Fotos/" + (ehPaciente?"ftPac":"ftMed") + atributos.Email;
            string camCompSem = System.Web.HttpContext.Current.Server.MapPath(caminho);

            for (int i = 0; i < 3; i++)
            {
                string tipo = null;
                switch (i)
                {
                case 0: tipo = ".jpg"; break;

                case 1: tipo = ".jpeg"; break;

                case 2: tipo = ".png"; break;
                }
                if (File.Exists(camCompSem + tipo))
                {
                    File.Delete(camCompSem + tipo);
                }
            }

            caminho += fileUpload.FileName.Substring(fileUpload.FileName.LastIndexOf('.')); // o tipo da imagem

            //salvar imagem em pasta do servidor
            string path = System.Web.HttpContext.Current.Server.MapPath(caminho);

            File.WriteAllBytes(path, fileUpload.FileBytes);

            //guardar o caminho no banco
            conexaoBD.ExecuteInUpDel("update " + (ehPaciente?"paciente":"medico") + " set caminhoFoto = '" +
                                     caminho.Substring(1) + /*remove o caracter ~*/ "' " + "where email = '" + atributos.Email + "'");
            atributos.CaminhoFoto = caminho.Substring(1);
        }
        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);
        }
        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[] ConsultasOcorrendoEmHorarioEspecifico(DateTime horario,
                                                                                   string emailMedico, string emailPaciente, ConexaoBD conexaoBD)
        {
            DateTime horarioRedondo = new DateTime(horario.Year, horario.Month, horario.Day,
                                                   horario.Hour, (horario.Minute < 30) ? 0 : 30, 0);

            return(Consulta.AuxConsultasOcorrendoEmHorario(horarioRedondo, false, emailMedico, emailPaciente, conexaoBD));
        }