Example #1
0
        public ActionResult DesativarPost(int id)
        {
            var ctx = new ApplicationDbContext();
            var medico = ctx.Medicos.Find(id);

            var consultas = from c in ctx.Consultas
                            where c.idMedico == id
                            select c;

            var proximas = consultas.ToList().Where(c =>
            {
                var dataConsulta = DateTime.Parse(c.dataConsulta + " " + c.horarioConsulta, new CultureInfo("pt-BR"));
                return DateTime.Now < dataConsulta;
            });

            if (proximas.Count() > 0)
            {
                ModelState.AddModelError("", "Não é possível desativar este médico pois ele possui consultas futuras.");
            }

            if (!ModelState.IsValid)
            {
                return View(medico);
            }

            medico.Ativo = false;
            ctx.SaveChanges();

            return RedirectToAction("Index", new { msg = "Médico desativado com sucesso" });
        }
Example #2
0
        public ActionResult AgendamentoConsulta(FormCollection f, string returnUrl)
        {
            var dataAgendamento = Request.Form["diaAgenda"];
            var horaAgendamento = Request.Form["hrAgenda"];
            var descEspecialidade = Request.Form["idEspecAgenda"];
            var descMedico = Request.Form["idMedicAgenda"];
            var CRM = string.Concat(descMedico.TakeWhile((c) => c != '-'));
            var usuario = (int)Session["UsuarioLogado"];

            var ctx = new ApplicationDbContext();
            var idEspec = (from u in ctx.Especialidades
                       where u.NomeEspecialidade == descEspecialidade
                       select u.IdEspecialidade).FirstOrDefault();

            var idMedic = (from u in ctx.Medicos
                       where u.CRM.ToString() == CRM
                           select u.IdMedico).FirstOrDefault();

            if (dataAgendamento != null)
            {
                var ctx2 = new ApplicationDbContext();
                var cons = new Consulta()
                {
                    idPaciente = usuario,
                    idEspecialidade = idEspec,
                    idMedico = idMedic,
                    dataAgendamento = DateTime.Now.ToString("dd/MM/yyyy"),
                    dataConsulta = dataAgendamento,
                    horarioConsulta = horaAgendamento,
                    observacoes = Request.Form["observacoes"]
                };

                var validConsulta = (from u in ctx.Consultas
                               where u.dataConsulta == dataAgendamento
                               && u.horarioConsulta == horaAgendamento
                               && u.idPaciente == usuario
                                     select u.IdConsulta).Count();
                if (validConsulta > 0)
                {
                    //fazer tela de erro
                    return RedirectToAction("", "Agendamento");

                }
                else
                {
                    ctx2.Consultas.Add(cons);
                    ctx2.SaveChanges();
                }

                return RedirectToAction("", "Agendamento");
            }
            else
            {
                ModelState.AddModelError("Senha", "Usuário ou senha inválido");
                return View();
            }
        }
Example #3
0
        public ActionResult RemoveConsulta(int Id)
        {
            using (var context = new ApplicationDbContext())
            {
                var cons = context.Consultas.FirstOrDefault(u => u.IdConsulta == Id);
                context.Consultas.Remove(cons);
                    context.SaveChanges();

                return RedirectToAction("", "Agendamento");
            }
        }
Example #4
0
        //Salvar Alteração de Observações
        public void ListaObservacoes(List<Models.Agendamento.Observacoes> lista)
        {
            ApplicationDbContext db = new ApplicationDbContext();

            foreach (var observacoes in lista)
            {
                var user = db.Consultas.Single(u => u.IdConsulta == observacoes.Id);
                user.observacoes = observacoes.Obs;
                db.SaveChanges();
            }
        }
Example #5
0
        public ActionResult Editar(Medico medico)
        {
            var ctx = new ApplicationDbContext();

            if (ctx.Medicos.FirstOrDefault(m => m.CRM == medico.CRM && m.IdMedico != medico.IdMedico) != null)
            {
                ModelState.AddModelError("CRM", "Já existe um médico cadastrado com este CRM");
            }

            if (!ModelState.IsValid)
            {
                return View(medico);
            }

            var medicoExistente = ctx.Medicos.Find(medico.IdMedico);

            medicoExistente.CRM = medico.CRM;
            medicoExistente.Nome = medico.Nome;
            medicoExistente.idEspecialidade = medico.idEspecialidade;
            medicoExistente.DataNascimento = medico.DataNascimento;
            medicoExistente.SexoMasculino = medico.SexoMasculino;
            medicoExistente.Telefone = medico.Telefone;
            medicoExistente.Email = medico.Email;
            medicoExistente.Observacoes = medico.Observacoes;

            ctx.SaveChanges();

            return RedirectToAction("Index", new { msg = "Médico alterado com sucesso" });
        }
Example #6
0
        public ActionResult Incluir(Medico medico)
        {
            var ctx = new ApplicationDbContext();

            if (ctx.Medicos.FirstOrDefault(m => m.CRM == medico.CRM) != null)
            {
                ModelState.AddModelError("CRM", "Já existe um médico cadastrado com este CRM");
            }

            if (medico.Disponibilidade.HasValue && medico.Disponibilidade.Value < DateTime.Now.Date)
            {
                ModelState.AddModelError("Disponibilidade", "Disponibilidade deve ser superior a data atual");
            }

            if (!ModelState.IsValid)
            {
                return View();
            }

            if (medico.Disponibilidade.HasValue)
            {
                medico.Ativo = false;
            }
            else
            {
                medico.Ativo = true;
            }

            ctx.Medicos.Add(medico);
            ctx.SaveChanges();

            return RedirectToAction("Index", new { msg = "Médico cadastrado com sucesso" });
        }