Exemple #1
0
        public async Task <IActionResult> Index(string CodigoTurma = null, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            IEnumerable <Turma>     turmas;
            IEnumerable <Atividade> atividades;
            var usuarioAtual = await _userManager.GetUserAsync(User);

            if (usuarioAtual.TipoUsuario == 2)
            {
                Professor professor = await _professorService.GetProfessorPorCPFAsync(usuarioAtual.UserName);

                turmas = await _turmaService.GetTurmasPorProfessorAsync(professor.Id);

                if (!string.IsNullOrWhiteSpace(CodigoTurma))
                {
                    turmas = turmas.Where(t => t.Codigo.Equals(CodigoTurma));
                }
                atividades = await _atividadeService.GetAtividadesPorProfessorAsync(professor.Id);

                CadastrarAtividadeTurmaViewModel model = new CadastrarAtividadeTurmaViewModel
                {
                    Turmas      = turmas.ToList(),
                    Atividades  = atividades.ToList(),
                    CodigoTurma = CodigoTurma ?? null
                };
                return(View(model));
            }

            return(View());
        }
Exemple #2
0
        public async Task <IActionResult> Index(CadastrarAtividadeTurmaViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                Turma turma = await _turmaService.GetTurmaPorCodigo(model.CodigoTurma);

                Atividade atividade = await _atividadeService.GetAtividade(model.IdAtividade);

                Atividade_Turma atividade_Turma = await _atividadeTurmaService.ExisteAtividadeAtivaNaTurma(model.CodigoTurma, model.IdAtividade);

                if (atividade_Turma != null)
                {
                    IEnumerable <Turma>     turmas;
                    IEnumerable <Atividade> atividades;
                    var usuarioAtual = await _userManager.GetUserAsync(User);

                    ModelState.AddModelError(string.Empty, $"Não foi possivel adicionar a atividade {atividade.Nome}, " +
                                             $"pois ela já está vinculada a turma {turma.Nome}, por favor desative ela para " +
                                             $"adicionar uma nova! ");
                    Professor professor = await _professorService.GetProfessorPorCPFAsync(usuarioAtual.UserName);

                    turmas = await _turmaService.GetTurmasPorProfessorAsync(professor.Id);

                    atividades = await _atividadeService.GetAtividadesPorProfessorAsync(professor.Id);

                    model.Turmas     = turmas.ToList();
                    model.Atividades = atividades.ToList();

                    return(View("Index", model));
                }

                atividade_Turma = new Atividade_Turma
                {
                    IdAtividade = atividade.Id,
                    CodigoTurma = turma.Codigo,
                    Disponivel  = model.Disponivel
                };
                await _atividadeTurmaService.SetAtividade_TurmaAsync(atividade_Turma);
            }
            return(RedirectToAction("Index"));
        }