public async Task <IActionResult> PutAtividadeUsuario(int id, AtividadeUsuario AtividadeUsuario) { if (id != AtividadeUsuario.IdAtividadeUsuario) { return(BadRequest()); } _context.Entry(AtividadeUsuario).State = EntityState.Modified; _context.Entry(AtividadeUsuario).Property(x => x.IdAtividade).IsModified = false; _context.Entry(AtividadeUsuario).Property(x => x.IdUsuarioDisciplina).IsModified = false; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AtividadeUsuarioExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(200, new { msg = $"A atividade {AtividadeUsuario.IdAtividadeUsuario} alterada com sucesso para os usuários" })); }
public async Task <ActionResult <AtividadeUsuario> > PostAtividadeUsuario(AtividadeUsuario AtividadeUsuario) { _context.AtividadeUsuario.Add(AtividadeUsuario); await _context.SaveChangesAsync(); return(CreatedAtAction("GetAtividadeUsuario", new { id = AtividadeUsuario.IdAtividadeUsuario }, AtividadeUsuario)); }
public async Task <IActionResult> RemoverAtividadeUsuario(int IdAtividade) { try { UsuarioADE usuario = await ObterUsuarioLogado(); AtividadeUsuario atividade = await _ServicoAtividadeUsuario.BuscarPorId(IdAtividade); await _ServicoAtividadeUsuario.RemoverAtividadeUsuarioAsync(usuario, atividade); ViewBag.Retorno = $"A atividade '{atividade.Descricao}' foi removida."; } catch (System.Exception ex) { ModelState.AddModelError("Falha", $"Ocorreu um erro ao Remover a sua atividade: {ex.Message}"); await LogError(ex.Message, ex.Source, Dominio.Models.Enums.EnumTipoLog.DelecaoAtividadeUsuario); } return(RedirectToAction("Index", "Atividades")); }
public async Task <IActionResult> AlterarAtividadeUsuario(AtividadeUsuario atividade) { try { UsuarioADE usuario = await ObterUsuarioLogado(); AtividadeUsuario at1 = await _ServicoAtividadeUsuario.BuscarPorId(atividade.Identificador); await _ServicoAtividadeUsuario.AtualizarAtividadeUsuarioAsync(usuario, atividade); ViewBag.Retorno = $"A atividade '{at1.Descricao}' foi alterada para <br> '{atividade.Descricao}'."; } catch (System.Exception ex) { ModelState.AddModelError("Falha", $"Ocorreu um erro ao Alterar a sua atividade: {ex.Message}"); await LogError(ex.Message, ex.Source, Dominio.Models.Enums.EnumTipoLog.AlteracaoAtividadeUsuario); } return(RedirectToAction("Index", "Atividades")); }
public async Task <IActionResult> CadastrarAtividadeUsuario(AtividadeUsuario atividade) { try { UsuarioADE usuario = await ObterUsuarioLogado(); atividade.IdCurso = usuario.IdCurso; atividade.IdUsuario = usuario.Id; atividade.Usuario = usuario; await _ServicoAtividadeUsuario.CadastrarAtividadeUsuarioAsync(usuario, atividade); ViewBag.Retorno = $"A atividade '{atividade.Descricao}' foi cadastrada com sucesso."; } catch (System.Exception ex) { ModelState.AddModelError("Falha", $"Ocorreu um erro ao Cadastrar a sua atividade: {ex.Message}"); await LogError(ex.Message, ex.Source, Dominio.Models.Enums.EnumTipoLog.CriacaoAtividadeUsuario); } return(RedirectToAction("Index", "Atividades")); }
public async Task <IActionResult> AtualizarAtividade(AtividadeUsuario atividade) { UsuarioADE usuario = await ObterUsuarioLogado(); try { AtividadeUsuario atividadeAntiga = await _ServicoAtividadeUsuario.BuscarPorId(atividade.Identificador); atividadeAntiga.Clonar(atividade); await _ServicoAtividadeUsuario.AtualizarAtividadeUsuarioAsync(usuario, atividadeAntiga); ViewBag.Retorno = "Sucesso ao alterar atividade!"; } catch (System.Exception ex) { await LogError(ex.Message, "AtualizarAtividadeUsuario", Dominio.Models.Enums.EnumTipoLog.AlteracaoAtividadeUsuario); return(Json(new { retorno = $"Erro ao alterar atividade! Contate o suporte caso esse erro volte a acontecer. - {ex.Message}" })); } return(RedirectToAction("Index", "Atividades")); }
//Método para inserir alunos cadastrados em atividades que estejam "Em andamento" private async void AtivAndamento(Atividade atividade) { if (atividade.StatusAtividade == StatusAtividadeEnum.Emand) { List <UsuarioDisciplina> lista = await _context.UsuarioDisciplina.Where(a => a.DisciplinaIdDisciplina == atividade.IdDisciplina && a.UsuarioCpfNavigation.TipoUsuario == TipoUsuarioEnum.Aluno).ToListAsync(); List <AtividadeUsuario> atividades = await _context.AtividadeUsuario.Where(ativ => ativ.IdUsuarioDisciplinaNavigation.DisciplinaIdDisciplina == atividade.IdDisciplina && ativ.IdAtividade == atividade.IdAtividade).ToListAsync(); foreach (UsuarioDisciplina usuarioDisc in lista) { if (!atividades.Any(usr => usr.IdUsuarioDisciplina == usuarioDisc.IdUsuarioDisciplina)) { AtividadeUsuario atividadeUsuario = new AtividadeUsuario(); atividadeUsuario.IdAtividade = atividade.IdAtividade; atividadeUsuario.IdUsuarioDisciplina = usuarioDisc.IdUsuarioDisciplina; atividadeUsuario.Status = "Em andamento"; atividadeUsuario.Total = 0; _context.AtividadeUsuario.Add(atividadeUsuario); } } } }
public async Task <IActionResult> ConcluirAtividade(int IdAtividade) { UsuarioADE usuario = await ObterUsuarioLogado(); try { AtividadeUsuario atividade = await _ServicoAtividadeUsuario.BuscarPorId(IdAtividade); EnumEstadoAtividade estado = atividade.VerificarEstado(); atividade.Concluir(); await _ServicoAtividadeUsuario.AtualizarAsync(usuario, atividade); ViewBag.Retorno = $"Sucesso ao alterar atividade!"; return(Json(new { retorno = "Sucesso ao alterar atividade!" })); } catch (System.Exception ex) { await LogError(ex.Message, "AtualizarAtividadeUsuario", Dominio.Models.Enums.EnumTipoLog.AlteracaoAtividadeUsuario); ModelState.AddModelError("Falha", "Erro ao alterar atividade! Contate o suporte caso esse erro volte a acontecer. - {ex.Message}"); } return(RedirectToAction("Index", "Atividades")); }
public async Task <IViewComponentResult> InvokeAsync(AtividadeUsuario atividade) { return(View(atividade)); }