private bool VerifyValidInput(DataListItem item, out string errorMessage) { errorMessage = String.Empty; TextBox uxQuantityText = (TextBox)item.FindControl("uxQuantityText"); Components_OptionGroupDetails uxOptionGroupDetails = (Components_OptionGroupDetails)item.FindControl("uxOptionGroupDetails"); if (Page.IsValid) { if (!uxOptionGroupDetails.IsValidInput) { errorMessage = GetLanguageText("InvalidOption"); return(false); } int result = 0; if (!int.TryParse(uxQuantityText.Text, out result) || result < 0 || (uxQuantityText.Text == "" && uxQuantityText.Visible)) { errorMessage = GetLanguageText("InvalidQuantity"); return(false); } else { return(true); } } return(false); }
private void AddItemToShoppingCart(DataListItem item, out string errorMessage) { Components_OptionGroupDetails uxOptionGroupDetails = (Components_OptionGroupDetails)item.FindControl("uxOptionGroupDetails"); Components_GiftCertificateDetails uxGiftCertificateDetails = (Components_GiftCertificateDetails)item.FindControl("uxGiftCertificateDetails"); TextBox uxEnterAmountText = (TextBox)item.FindControl("uxEnterAmountText"); TextBox uxQuantityText = (TextBox)item.FindControl("uxQuantityText"); decimal customPrice = decimal.Divide(decimal.Parse(uxEnterAmountText.Text), Convert.ToDecimal(StoreContext.Currency.ConversionRate)); CartAddItemService addToCartService = new CartAddItemService( StoreContext.Culture, StoreContext.ShoppingCart); int currentStock; string errorOptionName; bool stockOK = addToCartService.AddToCart( CurrentProduct, uxOptionGroupDetails.GetSelectedOptions(), ProductKitItemValueCollection.Null, ConvertUtilities.ToInt32(uxQuantityText.Text), uxGiftCertificateDetails.GetCartItemGiftDetails(), customPrice, out errorOptionName, out currentStock); if (stockOK) { errorMessage = String.Empty; bool enableNotification = ConvertUtilities.ToBoolean(DataAccessContext.Configurations.GetValue("EnableAddToCartNotification", StoreContext.CurrentStore)); if (UrlManager.IsMobileDevice(Request)) { enableNotification = false; } if (enableNotification) { uxAddToCartNotification.Show(CurrentProduct, ConvertUtilities.ToInt32(uxQuantityText.Text), customPrice, uxGiftCertificateDetails.GetCartItemGiftDetails(), uxOptionGroupDetails.GetSelectedOptions(), ProductKitItemValueCollection.Null); uxAddtoCartUpdate.Update(); } else { Response.Redirect("ShoppingCart.aspx"); } } else { DisplayOutOfStockError(currentStock, errorOptionName, out errorMessage); } }