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); } } }
//[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 }); } }
//[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 }); } }