コード例 #1
0
        public HttpResponseMessage CancelCoupon(CancelCouponDto coupon)
        {
            //transformar esse processo em um comando para dar opcao de tolerancia a falha
            Claims claims = new Claims().Values();
            CancelCouponCommand command = new CancelCouponCommand()
            {
                CouponIntegrationCode = coupon.CouponIntegrationCode,
                UserSessionTrade      = coupon.UserSessionTrade,
                PersonIntegrationCode = claims.personIntegrationCode,
                UserId = claims.userSystemId
            };

            this.bus.Send(command);

            return(Request.CreateResponse(HttpStatusCode.OK, new { }));
        }
コード例 #2
0
        public void Handle(CancelCouponCommand command)
        {
            CancelCouponDto coupon = new CancelCouponDto()
            {
                CouponIntegrationCode = command.CouponIntegrationCode,
                UserSessionTrade      = command.UserSessionTrade,
                PersonIntegrationCode = command.PersonIntegrationCode,
                UserId = command.UserId
            };


            var _clientPromotion = new HttpClient();

            _clientPromotion.BaseAddress = new Uri(CustomConfiguration.WebApiPromotion);
            var resultTask = _clientPromotion.PostAsJsonAsync("api/Coupon/CancelCoupon", coupon).Result;

            if (!resultTask.IsSuccessStatusCode)
            {
                LogManager.Error("Failure canceling a Coupon. Status: " + resultTask.StatusCode);
                throw new Exception("Failure canceling a Coupon. Status: " + resultTask.StatusCode);
            }
        }