예제 #1
0
        public ActionResult EditarAgendamento([Bind(Include = "IdAgendamento,DataAgendamento,HorarioAgendamento, IdUsuario, IdHemobanco")] Agendamento agendamentoAlterado, int?hemobancos)
        {
            Agendamento agendamentoOriginal = AgendamentoDAO.BuscarAgendamentoPorID(agendamentoAlterado.IdAgendamento);

            ViewBag.Hemobancos = new MultiSelectList(HemobancoDAO.ListarTodosHemobancos(), "IdHemobanco", "NomeFantasiaHemobanco");


            int idade = DateTime.Today.Year - agendamentoOriginal.UsuarioAgendamento.DataNascimentoUsuario.Year;

            if (agendamentoOriginal.UsuarioAgendamento.PesoUsuario < 50)
            {
                ModelState.AddModelError("", "Seu peso incompatível!");
            }
            else if (idade < 16 || idade > 69)
            {
                ModelState.AddModelError("", "Sua idade é incompatível!");
            }
            else if (agendamentoOriginal.DataAgendamento < DateTime.Today)
            {
                ModelState.AddModelError("", "A data informada é inválida!");
            }

            agendamentoOriginal.DataAgendamento      = agendamentoAlterado.DataAgendamento;
            agendamentoOriginal.HorarioAgendamento   = agendamentoAlterado.HorarioAgendamento;
            agendamentoOriginal.UsuarioAgendamento   = UsuarioDAO.BuscarUsuarioPorId(Sessao.retornarUsuario());
            agendamentoOriginal.HemobancoAgendamento = HemobancoDAO.BuscarHemobancoPorID(hemobancos);

            Agendamento agendamentoPesq = new Agendamento();

            // Buscar último agendamento realizado
            agendamentoPesq = AgendamentoDAO.UltimoAgendamento(Sessao.retornarUsuario());

            /*if (agendamentoPesq != null)
             * {
             *  // Data agendamento - última doação
             *  int dias = UsuarioDAO.CalculoDiasDoacao(agendamentoPesq.DataAgendamento, agendamentoOriginal.DataAgendamento);
             *
             *  if (dias != 0)
             *  {
             *      if (agendamentoOriginal.UsuarioAgendamento.SexoUsuario.Equals("Feminino") && dias < 90)
             *      {
             *          ModelState.AddModelError("", "Sua última doação é inferior a 90 dias!");
             *      }
             *      else if (agendamentoOriginal.UsuarioAgendamento.SexoUsuario.Equals("Masculino") && dias < 60)
             *      {
             *          ModelState.AddModelError("", "Sua última doação é inferior a 60 dias!");
             *      }
             *  }
             * }*/

            if (AgendamentoDAO.EditarAgendamento(agendamentoOriginal))
            {
                if (Sessao.retornarUsuario() == 0)
                {
                    return(RedirectToAction("PaginaInicialAdm", "Usuario"));
                }
                return(RedirectToAction("Agendamentos", "Usuario"));
            }
            else
            {
                ModelState.AddModelError("", "Erro ao editar agendamento!");
                return(View(agendamentoOriginal));
            }
        }