コード例 #1
0
        public ActionResult AddItem([Bind(Include = "VariantID, ProductID, Quantity, OrderLimit, Inventory")] CartViewModel cartViewModel)
        {
            CartMessageViewModel cartMessageViewModel = new CartMessageViewModel();

            if (ModelState.IsValid)
            {
                CartVariantMappingDTO cartVariantMappingDTO = CartMapper.Map <CartViewModel, CartVariantMappingDTO>(cartViewModel);
                cartVariantMappingDTO.UserID = new Guid(Session["UserID"].ToString());
                try
                {
                    cartBusinessContext.AddItem(cartVariantMappingDTO);
                    cartMessageViewModel.SuccessMessage = "Item Successfuly Added to Cart";
                    return(View(cartMessageViewModel));
                }
                catch (ItemAlreadyInCartException ex)
                {
                    cartMessageViewModel.ErrorMessages.Add("Item is already present in the cart");
                    return(View(cartMessageViewModel));
                }
                catch (OrderLimitExceededException)
                {
                    cartMessageViewModel.ErrorMessages.Add("Order Quantity Exceeded the limit");
                    return(View(cartMessageViewModel));
                }
                catch (QuantityUnavailableException)
                {
                    cartMessageViewModel.ErrorMessages.Add("Requested Quantity is UnAvailable");
                    return(View(cartMessageViewModel));
                }
                catch (Exception ex)
                {
                    return(View("InternalError"));
                }
            }
            else
            {
                foreach (var modelState in ModelState.Values)
                {
                    foreach (var err in modelState.Errors)
                    {
                        cartMessageViewModel.ErrorMessages.Add(err.ErrorMessage.ToString());
                    }
                }
                return(View(cartMessageViewModel));
            }
        }
コード例 #2
0
        protected virtual CartMessageViewModel GetInvalidCouponMessage(Coupon coupon, CultureInfo cultureInfo)
        {
            var localizedMessageTemplate = LocalizationProvider.GetLocalizedString(new GetLocalizedParam
            {
                Category    = "ShoppingCart",
                Key         = GetLocalizedKey(coupon.CouponState),
                CultureInfo = cultureInfo
            });

            var localizedMessage = string.Format(localizedMessageTemplate, coupon.CouponCode);

            var message = new CartMessageViewModel
            {
                Message = localizedMessage,
                Level   = CartMessageLevels.Error
            };

            return(message);
        }