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()); }
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")); }