/// <summary>
        /// Constructor for a new order
        /// </summary>
        /// <param name="shippingMethodName">The selected shipping method</param>
        /// <param name="shoppingCartList">The customers current shopping cart</param>
        /// <param name="globalShippingPrice">The global shipping price for tghe selected shipping method</param>
        /// <param name="globalTaxAmount">The global tax amount</param>
        public PurchaseOrderDetails(string shippingMethodName, List <ShoppingCartProduct> shoppingCartList, decimal globalShippingPrice, string globalTaxAmount) : this()
        {
            PayPalOrderDetails.ShippingMethodType = shippingMethodName;
            PayPalOrderDetails.ShippingAmount     = globalShippingPrice;
            GlobalShippingPrice = globalShippingPrice;
            GlobalTaxAmount     = Decimal.Parse(globalTaxAmount);

            if (shoppingCartList != null && shoppingCartList.Count > 0)
            {
                foreach (var ShopCartProd in shoppingCartList)
                {
                    PurchasedProduct PurchasedProd = new PurchasedProduct(shippingMethodName, ShopCartProd);

                    PayPalOrderDetails.BaseAmount     += PurchasedProd.PurchasePrice * PurchasedProd.Quantity;
                    PayPalOrderDetails.ShippingAmount += PurchasedProd.ShippingPrice;

                    PurchasedProductList.Add(PurchasedProd);
                }
            }

            PayPalOrderDetails.TaxAmount = PayPalOrderDetails.BaseAmount * GlobalTaxAmount;
        }
        /// <summary>
        /// Constructor for a new order
        /// </summary>
        /// <param name="shippingMethodName">The selected shipping method</param>
        /// <param name="shoppingCartList">The customers current shopping cart</param>
        /// <param name="globalShippingPrice">The global shipping price for tghe selected shipping method</param>
        /// <param name="globalTaxAmount">The global tax amount</param>
        public PurchaseOrderDetails(string shippingMethodName, List<ShoppingCartProduct> shoppingCartList, decimal globalShippingPrice, string globalTaxAmount)
            : this()
        {
            PayPalOrderDetails.ShippingMethodType = shippingMethodName;
            PayPalOrderDetails.ShippingAmount = globalShippingPrice;
            GlobalShippingPrice = globalShippingPrice;
            GlobalTaxAmount = Decimal.Parse(globalTaxAmount);

            if (shoppingCartList != null && shoppingCartList.Count > 0)
            {
                foreach (var ShopCartProd in shoppingCartList)
                {
                    PurchasedProduct PurchasedProd = new PurchasedProduct(shippingMethodName, ShopCartProd);

                    PayPalOrderDetails.BaseAmount += PurchasedProd.PurchasePrice * PurchasedProd.Quantity;
                    PayPalOrderDetails.ShippingAmount += PurchasedProd.ShippingPrice;

                    PurchasedProductList.Add(PurchasedProd);
                }
            }

            PayPalOrderDetails.TaxAmount = PayPalOrderDetails.BaseAmount * GlobalTaxAmount;
        }
Beispiel #3
0
        /// <summary>
        /// Update the real product's stock with the quantity selected from the user's purchased product
        /// </summary>
        /// <param name="purchProduct">The product the user purchased</param>
        public void UpdateStock(PurchasedProduct purchProduct)
        {
            bool FoundUniqueCheckoutPropKey = false;

            if (purchProduct.SelectedCheckoutProperties != null && purchProduct.SelectedCheckoutProperties.Count > 0)
            {
                if(CheckoutPropertySettingsList != null && CheckoutPropertySettingsList.Count > 0)
                {
                    foreach (var CheckoutPropSetting in CheckoutPropertySettingsList)
                    {
                        if(purchProduct.GetUniqueCheckoutPropertyKey().Equals(CheckoutPropSetting.GetUniqueCheckoutPropertyKey()))
                        {
                            CheckoutPropSetting.PurchaseSettings.StockLevel -= purchProduct.Quantity;
                            FoundUniqueCheckoutPropKey = true;
                            break;
                        }
                    }
                }
            }

            if (!FoundUniqueCheckoutPropKey)
            {
                PurchaseSettings.StockLevel -= purchProduct.Quantity;
            }
        }