Example #1
0
        public async Task Handle(SolicitacaoLocacaoCanceladaEvent message, CancellationToken cancellationToken)
        {
            Solicitacao solicitacaoParaCancelar = await _solicitacaoRepository.ObterPorId(message.SolicitacaoId);

            solicitacaoParaCancelar.Cancelar(message.MotivoCancelamento);

            _solicitacaoRepository.AtualizarSolicitacao(solicitacaoParaCancelar);

            Locacao locacaoParaCancelar = await _locacaoRepository.ObterPorSolicitacao(message.SolicitacaoId);

            locacaoParaCancelar.Cancelar();

            _locacaoRepository.AtualizarLocacao(locacaoParaCancelar);

            await _solicitacaoRepository.Commit();

            await _locacaoRepository.Commit();
        }