Example #1
0
        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" }));
        }
Example #2
0
        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"));
        }
Example #7
0
        //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));
 }