コード例 #1
0
        private void CheckVoucherUsed(string VoucherCode)
        {
            IVoucherService voucherService = DependencyUtils.Resolve <IVoucherService>();

            if (!string.IsNullOrEmpty(VoucherCode))
            {
                var voucher = voucherService.GetVoucherIsNotUsedAndCode(VoucherCode);
                if (voucher.MembershipCardId == null)
                {
                    voucher.UsedQuantity++;
                    if (voucher.UsedQuantity >= voucher.Quantity)
                    {
                        voucher.isUsed = true;
                    }
                    var voucherVM = new VoucherAPIViewModel(voucher);
                    voucher = voucherVM.ToEntity();
                    voucherService.Update(voucher);
                }
                else
                {
                    voucher.isUsed = true;
                    var voucherVM = new VoucherAPIViewModel(voucher);
                    voucher = voucherVM.ToEntity();
                    voucherService.Update(voucher);
                }
            }
        }
コード例 #2
0
        //[Route("update")]
        //[HttpPut]
        public HttpResponseMessage UpdateVoucher(VoucherAPIViewModel model)
        {
            var updateVoucher = model.ToEntity();
            var pDomain       = new PromotionDomain();
            var oldVoucher    = pDomain.GetVoucher(model.VoucherID);

            if (oldVoucher == null)
            {
                var res = new BaseResponse <string>()
                {
                    Message    = "Not found",
                    Success    = false,
                    ResultCode = (int)DataService.Models.ResultEnum.VoucherNotFound
                };
                return(new HttpResponseMessage()
                {
                    Content = new JsonContent(res),
                    StatusCode = HttpStatusCode.NotFound
                });
            }
            ;

            try
            {
                updateVoucher = pDomain.Update(updateVoucher);
                var res = new BaseResponse <string>()
                {
                    Data       = "Success",
                    Message    = "Success",
                    Success    = true,
                    ResultCode = (int)DataService.Models.ResultEnum.Success
                };
                return(new HttpResponseMessage()
                {
                    Content = new JsonContent(res),
                    StatusCode = HttpStatusCode.OK
                });
            }
            catch (Exception e)
            {
                var res = new BaseResponse <string>()
                {
                    Error      = e.Message,
                    Message    = e.Message,
                    ResultCode = (int)DataService.Models.ResultEnum.InternalError,
                    Success    = false
                };
                return(new HttpResponseMessage()
                {
                    Content = new JsonContent(res),
                    StatusCode = HttpStatusCode.InternalServerError
                });
            }
        }
コード例 #3
0
        //[Route("")]
        //[HttpPost]
        public HttpResponseMessage CreateVoucher(VoucherAPIViewModel model)
        {
            var newVoucher = model.ToEntity();
            var pDomain    = new PromotionDomain();

            try
            {
                newVoucher = pDomain.Create(newVoucher);
                var res = new BaseResponse <string>()
                {
                    Data       = "Success",
                    Message    = "Success",
                    Success    = true,
                    ResultCode = (int)DataService.Models.ResultEnum.Success
                };
                return(new HttpResponseMessage()
                {
                    Content = new JsonContent(res),
                    StatusCode = HttpStatusCode.OK
                });
            }
            catch (Exception e)
            {
                var res = new BaseResponse <string>()
                {
                    Error      = e.Message,
                    Message    = e.Message,
                    ResultCode = (int)DataService.Models.ResultEnum.InternalError,
                    Success    = false
                };
                return(new HttpResponseMessage()
                {
                    Content = new JsonContent(res),
                    StatusCode = HttpStatusCode.InternalServerError
                });
            }
        }