Пример #1
0
        public ActionResult ConfirmacaoExclusao(int id)
        {
            Medico   medico   = db.Medico.Find(id);
            Consulta consulta = db.Consulta.Where(p => p.MedicoId == id).FirstOrDefault();

            if (consulta != null)
            {
                ModelState.AddModelError("", "O médico não pode ser excluído pois possui registro de consulta");
                return(View(medico));
            }

            Agenda agenda = db.Agenda.Where(p => p.MedicoId == id).FirstOrDefault();

            if (agenda != null)
            {
                ModelState.AddModelError("", "O médico não pode ser excluído pois possui registro em agenda");
                return(View(medico));
            }

            AgendaConfiguracao agendaConf = db.AgendaConfiguracao.Where(p => p.MedicoId == id).FirstOrDefault();

            if (agendaConf != null)
            {
                ModelState.AddModelError("", "O médico não pode ser excluído pois possui registro em configuração de agenda");
                return(View(medico));
            }

            db.Medico.Remove(medico);
            db.SaveChanges();
            return(RedirectToAction("Listar"));
        }
Пример #2
0
        public ActionResult ConfirmarExclusaoConfiguracao(int id)
        {
            AgendaConfiguracao confAgenda = db.AgendaConfiguracao.Find(id);

            db.AgendaConfiguracao.Remove(confAgenda);
            db.SaveChanges();
            return(RedirectToAction("ConfListar"));
        }
Пример #3
0
        public ActionResult Gerar(AgendaGerar model)
        {
            if (ModelState.IsValid)
            {
                bool configuracaoInvalida = false;
                if (model.MedicoId == 0)
                {
                    configuracaoInvalida = true;
                    ModelState.AddModelError("", "O médico é obrigatório");
                }
                if (model.DataFinal < model.DataInicial)
                {
                    configuracaoInvalida = true;
                    ModelState.AddModelError("", "A data final não pode ser menor que a inicial");
                }

                if (!configuracaoInvalida)
                {
                    Agenda obj = db.Agenda.Where(p => p.MedicoId == model.MedicoId && p.Data >= model.DataInicial && p.Data <= model.DataFinal).FirstOrDefault();

                    if (obj != null)
                    {
                        ModelState.AddModelError("", "Há um conflito de agendas. Já existe agenda para o dia " + obj.Data);
                    }
                    else
                    {
                        DateTime firstSunday = new DateTime(1753, 1, 7);
                        for (int i = 0; i < (model.DataFinal - model.DataInicial).TotalDays; i++)
                        {
                            //confere se o dia da semana/hora terá agenda criada
                            AgendaConfiguracao agendaConfiguracao = db.AgendaConfiguracao.Where(p => p.MedicoId == model.MedicoId && (DbFunctions.DiffDays(firstSunday, DbFunctions.AddDays(model.DataInicial, i)) % 7) == (int)(p.DiaSemana)).FirstOrDefault();
                            if (agendaConfiguracao != null)
                            {
                                DateTime horaInicio = agendaConfiguracao.HorarioInicio;
                                for (int j = 0; j < agendaConfiguracao.LimiteConsultas; j++)
                                {
                                    Agenda agenda = new Agenda();
                                    agenda.Data     = model.DataInicial.AddDays(i);
                                    agenda.MedicoId = model.MedicoId;
                                    agenda.Horario  = horaInicio;
                                    horaInicio      = horaInicio.AddMinutes(agendaConfiguracao.TempoConsulta);
                                    //db.Agenda.Add(agenda);
                                    db.Entry(agenda).State = EntityState.Added;
                                    db.SaveChanges();
                                }
                            }
                        }

                        return(RedirectToAction("Listar", "Agenda", new { tipoFiltro = 0 }));
                    }
                }
            }

            ViewBag.MedicoId = new SelectList(db.Medico.Where(p => p.Ativo), "Id", "Nome", "");
            return(View());
        }
Пример #4
0
        // GET: Posts/Delete/5
        //[Authorize(Roles = "Administrador")]
        public ActionResult ConfExcluir(int id)
        {
            if (id == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            AgendaConfiguracao confAgenda = db.AgendaConfiguracao.Find(id);

            if (confAgenda == null)
            {
                return(HttpNotFound());
            }
            return(View(confAgenda));
        }
Пример #5
0
        public ActionResult ConfEditar(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            AgendaConfiguracao agendaConf = db.AgendaConfiguracao.Find(id);

            if (agendaConf == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MedicoId = new SelectList(db.Medico.Where(p => p.Ativo), "Id", "Nome", "");
            return(View(agendaConf));
        }
Пример #6
0
        public ActionResult ConfIncluir(AgendaConfiguracao model)
        {
            if (ModelState.IsValid)
            {
                if (model.MedicoId != 0)
                {
                    AgendaConfiguracao obj = db.AgendaConfiguracao.Where(p => p.MedicoId == model.MedicoId &&
                                                                         p.DiaSemana == model.DiaSemana).FirstOrDefault();
                    if (obj != null)
                    {
                        ModelState.AddModelError("", "Já existe uma configuração de agenda neste dia da semana para esse médico");
                    }
                    else
                    {
                        db.AgendaConfiguracao.Add(model);
                        db.SaveChanges();
                        return(RedirectToAction("ConfListar"));
                    }
                }
            }

            ViewBag.MedicoId = new SelectList(db.Medico.Where(p => p.Ativo), "Id", "Nome", "");
            return(View(model));
        }