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