public ActionResult AddGiftCard(GiftCardViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction(ActionNames.Index, ControllerNames.Checkout));
            }

            var customer = HttpContext.GetCustomer();

            var coupons = Coupons.LoadCoupons(model.Code, customer.StoreID);

            if (!coupons.Any())
            {
                ModelState.AddModelError("Code", "Gift card not found.");
                return(RedirectToAction(ActionNames.Index, ControllerNames.Checkout));
            }

            var cart = CachedShoppingCartProvider.Get(customer, CartTypeEnum.ShoppingCart, AppLogic.StoreID());

            cart.SetCoupon(model.Code, true);

            //If the gift card covers the whole order, do some setup that Gateway.MakeOrder requires
            if (cart.GiftCardCoversTotal())
            {
                customer.UpdateCustomer(requestedPaymentMethod: AppLogic.ro_PMCreditCard);
            }

            return(RedirectToAction(ActionNames.Index, ControllerNames.Checkout));
        }
예제 #2
0
        /// <summary>
        /// 优惠券列表页
        /// </summary>
        /// <param name="c"></param>
        /// <param name="level"></param>
        /// <param name="page"></param>
        /// <param name="sort"></param>
        /// <param name="attrids"></param>
        /// <returns></returns>
        private GiftCardViewModel GetGiftCardList(int PageIndex, int status)
        {
            GiftCardViewModel viewmodel = new GiftCardViewModel();

            try
            {
                int totalRecords = 0, pagecount = 0;
                var products = giftCardBll.GetGiftCardList(status, base.LoginUser.UserID, PageIndex, PageSize);
                if (products != null && products.Count() > 0)
                {
                    totalRecords = products.FirstOrDefault().TotalRecord;
                }
                else
                {
                    totalRecords = 0;
                    products     = new List <GiftCardEntity>();
                }
                viewmodel.GiftCardList = products;
                viewmodel.PageSize     = PageSize;
                viewmodel.TotalRecord  = totalRecords;
                pagecount = totalRecords / PageSize;
                if (totalRecords % PageSize > 0)
                {
                    pagecount += 1;
                }
                viewmodel.PageCount = pagecount;
                viewmodel.PageIndex = PageIndex;
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
            }
            return(viewmodel);
        }
예제 #3
0
        public IActionResult Index(GiftCardPage currentPage)
        {
            var model = new GiftCardViewModel(currentPage)
            {
                CurrentContent = currentPage,
                GiftCardList   = _giftCardService.GetCustomerGiftCards(CustomerContext.Current.CurrentContactId.ToString()).ToList()
            };

            return(View(model));
        }
예제 #4
0
 public ActionResult <GiftCardViewModel> Put(int id, GiftCardViewModel giftCard)
 {
     try
     {
         return(_giftCardService.UpdateGiftCard(id, giftCard));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex));
     }
 }
        public ActionResult AddGiftCard()
        {
            var customer = HttpContext.GetCustomer();
            var cart     = CachedShoppingCartProvider.Get(customer, CartTypeEnum.ShoppingCart, AppLogic.StoreID());

            var model = new GiftCardViewModel
            {
                Code = cart.Coupon.CouponCode
            };

            return(PartialView(ViewNames.AddGiftCardPartial, model));
        }
예제 #6
0
 public ActionResult Delete(GiftCardViewModel giftCard)
 {
     try
     {
         _giftCardService.DeleteGiftCard(giftCard);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest(ex));
     }
 }
예제 #7
0
 public ActionResult <GiftCardViewModel> Post(GiftCardViewModel giftCard)
 {
     try
     {
         var gc = _giftCardService.AddGiftCard(giftCard);
         return(Ok(gc));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex));
     }
 }
예제 #8
0
 public OrderSummaryJsonModel()
 {
     GiftCards = new GiftCardViewModel();
 }
예제 #9
0
 public void DeleteGiftCard(GiftCardViewModel giftCard)
 {
     giftCard.IsDeleted = true;
     _giftCardRepository.UpdateGiftCard(giftCard.Id, giftCard);
 }
예제 #10
0
 public GiftCardViewModel UpdateGiftCard(int id, GiftCardViewModel model)
 {
     return(_giftCardRepository.UpdateGiftCard(id, model));
 }
예제 #11
0
 public GiftCardViewModel AddGiftCard(GiftCardViewModel model)
 {
     return(_giftCardRepository.AddGiftCard(model));
 }