public async Task Handle(SolicitacaoLocacaoRecusadaEvent message, CancellationToken cancellationToken) { Solicitacao solicitacaoParaRecusar = await _solicitacaoRepository.ObterPorId(message.SolicitacaoId); solicitacaoParaRecusar.Recusar(message.Motivo); _solicitacaoRepository.AtualizarSolicitacao(solicitacaoParaRecusar); await _solicitacaoRepository.Commit(); }
public async Task <SolicitationDto> Execute(SolicitationDto solicitationDto, int clientId) { if (solicitationDto.AskDtos.Count() < 5) { throw new AppError("Responda todas as questões!"); } if (clientId == 0) { throw new AppError("Escolha um cliente válido!"); } Pessoa client = await _pessoaRepository.GetByID(clientId); if (client == null) { throw new AppError("Cliente não encontrado!", 404); } if (solicitationDto.ReceivingDate > DateTime.Now) { throw new AppError("Data de recebimento não pode ser uma data futura"); } Solicitacao solicitacao = SolicitationDtoMapToSolicitacao.Map(new Solicitacao(), solicitationDto); solicitacao.fkPessoa = client; solicitacao.fkPessoaId = client.Id; _solicitacaoRepository.Insert(solicitacao); await _solicitacaoRepository.Commit(); solicitationDto.Id = solicitacao.Id; return(solicitationDto); }