public async Task <BusinessResult> ObterUltima(string correlationId) { var obterUltimaEvent = new ObterUltimaEvent(this, correlationId); EventResult eventResult = await DomainEventManager.RaiseAsync(obterUltimaEvent); if (!eventResult.IsValid) { return(eventResult.Map(TipoMensagem.ErroAplicacao)); } var ultimaCompra = obterUltimaEvent.Compra; if (ultimaCompra == null) { return(eventResult.Map(TipoMensagem.ErroNegocio)); } this.IdCompra = ultimaCompra.IdCompra; this.IdCompraEntregaSku = ultimaCompra.IdCompraEntregaSku; this.IdProdutoParceiro = ultimaCompra.IdProdutoParceiro; this.StatusIntegracaoParceiro = ultimaCompra.StatusIntegracaoParceiro; this.EmailEnvioAceito = ultimaCompra.EmailEnvioAceito; this.EmailEnvioAtivacao = ultimaCompra.EmailEnvioAtivacao; this.StatusAceite = ultimaCompra.StatusAceite; this.DataStatusAceite = ultimaCompra.DataStatusAceite; this.DataInclusao = ultimaCompra.DataInclusao; this.DataEnvioAceite = ultimaCompra.DataEnvioAceite; this.Ativacao = ultimaCompra.Ativacao; this.DataEnvioAtivacao = ultimaCompra.DataEnvioAtivacao; this.DataIntegracaoParceiro = ultimaCompra.DataIntegracaoParceiro; return(eventResult.Map()); }
public RaiseResult Raise(ObterUltimaEvent domainEvent) { RaiseResult result = new RaiseResult(); try { Task.Run(async() => { domainEvent.Compra = await _compraParceiroRepository.ObterUltimaRecente(); }).GetAwaiter().GetResult(); result.IsValid = true; } catch (Exception ex) { result.IsValid = false; result.Mensagem = new EventMessage { Content = ex.InnerException.ToString(), Type = MessageType.ApplicationError }; } return(result); }