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