public IActionResult Index(string nomeDoAluno, int?turmaId, bool?cancelado, bool?pago, bool?expirado)
        {
            var cursoAbertos = _cursoAbertoRepositorio.Consultar();

            ViewBag.Turmas = cursoAbertos.Select(c => new SelectListItem
            {
                Value    = c.Id.ToString(),
                Text     = $"{c.Curso.Nome} - {c.InicioDoCurso:dd/MM/yyyy}",
                Selected = turmaId.HasValue && c.Id == turmaId.Value
            }).ToList();

            ((List <SelectListItem>)ViewBag.Turmas).Insert(0, new SelectListItem {
                Value = "", Text = ""
            });

            var somenteCanceladas       = cancelado.HasValue && cancelado.Value;
            var somenteMatriculasPagas  = pago.HasValue && pago.Value;
            var validadeDoCursoExpirada = expirado.HasValue && expirado.Value;

            var matriculas = _matriculaRepositorio
                             .ConsultarPor(
                nomeDoAluno,
                turmaId,
                somenteCanceladas,
                somenteMatriculasPagas,
                validadeDoCursoExpirada);

            var models = matriculas.Select(m => new MatriculaParaListaViewModel(m));

            return(View(PaginatedList <MatriculaParaListaViewModel> .Create(models, Request)));
        }
Esempio n. 2
0
        public async Task <IActionResult> Index(int?turmaId, bool?gerarEmExcel)
        {
            ViewBag.TurmaSelecionada = turmaId;

            var cursoAbertos = _cursoAbertoRepositorio.Consultar();

            ViewBag.Turmas = cursoAbertos.Select(c => new SelectListItem
            {
                Value    = c.Id.ToString(),
                Text     = $"{c.Curso.Nome} - {c.InicioDoCurso:dd/MM/yyyy}",
                Selected = c.Id == turmaId
            }).ToList();

            var alunos = BuscarRelatorio(turmaId);

            if (gerarEmExcel.HasValue && gerarEmExcel.Value)
            {
                return(await GerarExcel(alunos));
            }

            return(View(alunos));
        }