예제 #1
0
        public object Chamada(int idEvento)
        {
            bool            chamadaFeita = eventoRepository.ChamadaFeita(idEvento, DateTime.Now.Date);
            Chamada         c;
            List <Presenca> presencas;

            List <int>   cursos;
            List <Aluno> alunos;

            //if (Utilidades.UsuarioLogado.Permissao == EnumPermissaoUsuario.coordenador)
            //{
            //    cursos = cursoRepository.GetCursoByCoordenador(User.Identity.Name).Select(y => y.IdCurso).ToList();
            //    alunos = eventoRepository.GetListaChamada(idEvento).Where(x => cursos.Contains(x.AlunoCurso.FirstOrDefault().IdCurso)).ToList();
            //}

            alunos = eventoRepository.GetListaChamada(idEvento);

            Evento evento        = eventoRepository.GetEventoById(idEvento);
            int    duracaoEvento = (evento.DataFim - evento.DataInicio).Days + 1;

            if (evento.Chamada.Count >= duracaoEvento && !chamadaFeita)
            {
                return(Json(new { Status = false, Type = "error", Message = "Todas as chamadas já foram efetuadas para este evento" }, JsonRequestBehavior.AllowGet));
            }

            if (chamadaFeita)
            {
                c = eventoRepository.GetChamada(idEvento, DateTime.Now.Date);

                return(PartialView("_Chamada", new ChamadaModel
                {
                    Alunos = alunos,
                    IdEvento = idEvento,
                    NomeEvento = evento.NomeEvento,
                    Presentes = c.Presenca.ToList()
                }));
            }

            return(PartialView("_Chamada", new ChamadaModel
            {
                Alunos = alunos,
                IdEvento = idEvento,
                NomeEvento = evento.NomeEvento
            }));
        }