protected async Task <ValidationResult> PublishEvents(params Event[] events) { foreach (Event @event in events) { await _mediatr.Publish(@event); } return(_validationResult); }
public async Task Handle(SolicitacaoLocacaoAprovadaEvent message, CancellationToken cancellationToken) { Solicitacao solicitacaoParaAprovar = await _solicitacaoRepository.ObterPorId(message.SolicitacaoId); solicitacaoParaAprovar.Aprovar(); Locacao novaLocacao = new Locacao(solicitacaoParaAprovar.Id, solicitacaoParaAprovar.UsuarioLocatarioId, solicitacaoParaAprovar.EmpresaId, solicitacaoParaAprovar.QuadraId, solicitacaoParaAprovar.TempoTotalLocacaoSolicitado, message.InformacoesTempoQuadra); _locacaoRepository.AdicionarLocacao(novaLocacao); _solicitacaoRepository.AtualizarSolicitacao(solicitacaoParaAprovar); if (await _locacaoRepository.Commit()) { await _mediatr.Publish(new LocacaoCriadaEvent(novaLocacao.Id)); } }