Beispiel #1
0
        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());
        }
Beispiel #2
0
        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);
        }