public ActionResult <Aluno> GetAluno(int id) { try { var aluno = _alunoRepository.Get(id); if (aluno == null) { throw new Exception("Não foi encontrado nenhum aluno para o código informado."); } return(aluno); } catch (Exception ex) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Ops! Houve um erro: { ex.Message }.")); } }
public async Task <bool> ValidarDeletarResponsavel(int responsavelId) { var alunos = await _alunoRepository.Get(x => x.IdResponsavel == responsavelId); if (!alunos.Any()) { return(true); } return(false); }
public async Task <bool> ValidarExcluirSala(int idSala) { var alunos = await _alunoRepository.Get(x => x.IdSala == idSala); if (!alunos.Any()) { return(true); } return(false); }
public ICommandResult Handle(CreatePedidoCommand command) { // Fail Fast Validation command.validate(); if (command.Invalid) { return(new GenericCommandResult(false, "Pedido inválido", null)); } // 1. Recupera o cliente var aluno = _alunoRepository.Get(command.Aluno); // 2. Calcula a taxa de entrega var delivery = _deliveryRepository.Get(command.ZipCode); // 3. Obtém o cupom de desconto var desconto = _descontoRepository.Get(command.PromoCode); // 4. Gera o pedido var cursos = _cursoRepository.Get(ExtractGuids.Extract(command.Items)).ToList(); var pedido = new Pedido(aluno, delivery, desconto); foreach (var item in command.Items) { var curso = cursos.Where(x => x.Id == item.Curso).FirstOrDefault(); pedido.AddItem(curso, item.Quantidade); } // 5. Agrupa as notificações AddNotifications(pedido.Notifications); // 6. Verifica se deu tudo certo if (Invalid) { return(new GenericCommandResult(false, "Falha ao gerar o pedido", Notifications)); } // 7. Retorna o resultado _pedidoRepository.Save(pedido); return(new GenericCommandResult(true, $"Pedido {pedido.Numero} gerado com sucesso", pedido)); }