예제 #1
0
 public IActionResult Recuperar(string id)
 {
     try
     {
         if (_alunosRepositorio.Recuperar(id) is var aluno && aluno.EhFalha)
         {
             return(StatusCode(aluno.Falha.Codigo, aluno.Falha));
         }
         return(Ok(new AlunoViewModel(aluno.Sucesso.Id, aluno.Sucesso.Nome, aluno.Sucesso.Email, aluno.Sucesso.Idade(DateTime.Now),
                                      aluno.Sucesso.Inscricoes.Select(a => new InscricaoViewModel(aluno.Sucesso.Id, new InscricaoViewModel.TurmaViewModel(a.Turma.Id, a.Turma.Descricao), a.InscritoEm)).ToList())));
     }
     catch (Exception e)
     {
         return(StatusCode(500, new { error = e.Message }));
     }
 }
예제 #2
0
        public Resultado <Aluno.Inscricao, Falha> Executar(RealizarInscricaoComando comando)
        {
            try
            {
                if (_alunosRepositorio.Recuperar(comando.AlunoId) is var aluno && aluno.EhFalha)
                {
                    return(aluno.Falha);
                }

                if (_turmasRepositorio.Recuperar(comando.TurmaId) is var turma && turma.EhFalha)
                {
                    return(turma.Falha);
                }

                if (aluno.Sucesso.RealizarInscricao(turma.Sucesso) is var inscricao && inscricao.EhFalha)
                {
                    return(inscricao.Falha);
                }

                if (_alunosRepositorio.Atualizar(aluno.Sucesso) is var resultado && resultado.EhFalha)
                {
                    return(resultado.Falha);
                }
                return(resultado.Sucesso.Inscricoes.FirstOrDefault(i => i.Id.Equals(inscricao.Sucesso.Id)));
            }
            catch (Exception e)
            {
                return(Falha.Nova(500, "Erro ao realizar inscrição"));
            }
        }
예제 #3
0
 public IActionResult Recuperar(string id)
 {
     try
     {
         var aluno = _alunosRepositorio.Recuperar(id);
         if (aluno == null)
         {
             return(NotFound("Nenhum aluno referente ao id desejado"));
         }
         return(Ok(new AlunoViewModel(aluno.Id, aluno.Nome, aluno.Email, aluno.Idade(DateTime.Now),
                                      aluno.Inscricoes.Select(a => new InscricaoViewModel(aluno.Id, new InscricaoViewModel.TurmaViewModel(a.Turma.Id, a.Turma.Descricao), a.InscritoEm)).ToList())));
     }
     catch (Exception e)
     {
         return(StatusCode(500, new { error = e.Message }));
     }
 }