Пример #1
0
        public object UpdateOnlineOrderItemQuantity(string Id, int quantity)
        {
            OnlineOrderItem onlineorderItem = onlineorderItemContext.Find(Id);

            if (onlineorderItem != null)
            {
                try
                {
                    onlineorderItem.ModifiedAt = DateTime.Now;
                    onlineorderItem.Quantity   = quantity;
                    onlineorderItemContext.Update(onlineorderItem);
                    onlineorderItemContext.Commit();
                    return(new { Successful = true, Message = "Item update succeeded." });
                }
                catch (Exception ex)
                {
                    // log error
                    Console.WriteLine(ex);

                    // send message
                    return(new { Successful = false, Message = "Item update failed." });
                }
            }
            else
            {
                return(new { Successful = false, Message = "Item not found." });
            }
        }
Пример #2
0
        public BasketSummaryViewModel GetBasketSummary(HttpContextBase httpContext)
        {
            Basket basket = GetBasket(httpContext, false);
            BasketSummaryViewModel model = new BasketSummaryViewModel(0, 0);
            if (basket != null)
            {
                int? basketCount = (from item in basket.BasketItems
                                    select item.Quantity).Sum();
                decimal? basketTotal = (from bi in basket.BasketItems
                                        join p in productContext.Collection() on bi.ProductId equals p.Id
                                        select bi.Quantity * p.Price).Sum();
                model.BasketCount = basketCount ?? 0;
                model.BasketTotal = basketTotal ?? decimal.Zero;

                foreach (var item in basket.BasketItems)
                {
                    OnlineOrderItem onlineorderItem = new OnlineOrderItem()
                    {
                        ProductId = item.ProductId,
                        ProductName = item.ProductName,
                        ProductDescription = item.ProductDescription,
                        Image = item.Image,
                        Price = item.Price,
                        Quantity = item.Quantity
                    };
                    model.OnlineOrderItems.Add(onlineorderItem);
                }
            }
            return model;
        }
Пример #3
0
        public object UpdateOnlineOrderItem(string Id, string productDescription, int quantity, decimal price)
        {
            OnlineOrderItem onlineorderItem = onlineorderItemContext.Find(Id);

            if (onlineorderItem != null)
            {
                try
                {
                    decimal oldPrice = onlineorderItem.Price;
                    onlineorderItem.ProductDescription = productDescription;
                    onlineorderItem.Quantity           = quantity;
                    onlineorderItem.Price      = price;
                    onlineorderItem.ModifiedAt = DateTime.Now;
                    onlineorderItemContext.Update(onlineorderItem);
                    onlineorderItemContext.Commit();
                    return(new { Successful = true, Message = "Item update succeeded.", OldValue = oldPrice });
                }
                catch (Exception ex)
                {
                    // log error
                    Console.WriteLine(ex);

                    // send message
                    return(new { Successful = false, Message = "Item update failed." });
                }
            }
            else
            {
                return(new { Successful = false, Message = "Item not found." });
            }
        }
            private List <OnlineOrder> SingleOrderWithSingleAPFCartItem(string countryCode, string distributorId, DateTime startDate)
            {
                List <OnlineOrder> result = new List <OnlineOrder>();

                OnlineOrder order = new OnlineOrder();

                order.ChannelInfo = "网上订单";
                order.StoreInfo   = "";
                order.Status      = "待付款";
                order.Shipment    = new ShippingInfo_V01();
                order.Handling    = new HandlingInfo();
                order.Pricing     = new OrderTotals_V02()
                {
                    VolumePoints    = 100,
                    AmountDue       = 319.00m,
                    ProductTaxTotal = 0m,
                    DiscountAmount  = 0m,
                    Donation        = 0m,
                };
                order.OrderItems = new OrderItems();

                OnlineOrderItem item = new OnlineOrderItem();

                item.SKU         = HLConfigManager.Configurations.APFConfiguration.DistributorSku;
                item.Quantity    = 1;
                item.Description = "APF";
                item.RetailPrice = 70m;
                order.OrderItems.Add(item);

                order.CountryOfProcessing    = countryCode;
                order.CustomerID             = "";
                order.DiscountPercentage     = 0;
                order.DistributorID          = distributorId;
                order.Messages               = new MessageCollection();
                order.InputMethod            = InputMethodType.Internet;
                order.OrderCategory          = ServiceProvider.OrderChinaSvc.OrderCategoryType.RSO;
                order.OrderID                = "";
                order.Payments               = new PaymentCollection();
                order.PurchaseCategory       = OrderPurchaseType.None;
                order.PurchasingLimits       = new PurchasingLimits();
                order.QualifyingSupervisorID = "";
                order.ReceivedDate           = startDate.AddDays(2);
                order.OrderMonth             = order.ReceivedDate.ToString("yyyyMM");
                order.ReferenceID            = "";
                order.SessionId              = "";
                order.ShoppingCartID         = 123;
                order.SponsorId              = "";
                order.TransactionId          = "";
                order.UseSlidingScale        = false;
                order.VATRegistrationId      = "";

                result.Add(order);
                return(result);
            }
Пример #5
0
        public object RemoveItemFromOnlineOrder(string Id)
        {
            OnlineOrderItem itemToDelete = onlineorderItemContext.Find(Id);

            if (itemToDelete == null)
            {
                return(new { Successful = false, Message = "Item not found.", ItemId = "" });
            }
            else
            {
                onlineorderItemContext.Delete(Id);
                onlineorderItemContext.Commit();
                return(new { Successful = true, Message = "Item deleted.", ItemId = Id });
            }
        }
Пример #6
0
        public void ProcessDonation_Test()
        {
            var cart = MyHLShoppingCartGenerator.GetBasicShoppingCart("CN640521", "zh-CN", "3", "888",
                                                                      new ShippingAddress_V02());

            cart.CartItems = new ShoppingCartItemList
            {
                ShoppingCartItemHelper.GetCartItem(1, 1, "1316"),
            };

            var order = new Order_V01();

            order.DistributorID = "CN640521";

            var orderitem1 = new OnlineOrderItem()
            {
                Quantity    = 1,
                SKU         = "1316",
                Description = "Test",
                RetailPrice = 0,
                IsPromo     = false,
            };

            MyHerbalife3.Ordering.Providers.Shipping.DeliveryOption deliveryOption = new MyHerbalife3.Ordering.Providers.Shipping.DeliveryOption();
            order.CountryOfProcessing = "CN";
            order.OrderItems          = new OrderItems {
                orderitem1
            };
            order.Shipment = new ShippingInfo_V01
            {
                Address = new MyHerbalife3.Ordering.ServiceProvider.OrderSvc.Address
                {
                    City    = "眉山市",
                    Country = "cn"
                },
                ShippingMethodID = "22",
                WarehouseCode    = "888"
            };

            var ordertotal = new OrderTotals_V02();

            GetQuotes(order, ordertotal, false, out ordertotal);
            cart.Totals = ordertotal;
        }
        public void SlowMovingDiscount()
        {
            string  distributorId           = "CN640521";
            string  countryCode             = System.Threading.Thread.CurrentThread.CurrentCulture.Name;
            decimal Slomovingskudiscountamt = 0;

            GetSlowMovingDetail("1317", 50m, 329m, DateTime.Now.AddDays(-2), DateTime.Now.AddDays(30), out Slomovingskudiscountamt);
            var order = new Order_V01();

            order.DistributorID = distributorId;
            var orderitem = new OnlineOrderItem()
            {
                Quantity    = 1,
                SKU         = "1317",
                Description = "",
                RetailPrice = 0,
                IsPromo     = false,
            };

            order.OrderItems = new OrderItems {
                orderitem
            };
            order.Shipment = new ShippingInfo_V01
            {
                Address = new MyHerbalife3.Ordering.ServiceProvider.OrderSvc.Address
                {
                    City    = "眉山市",
                    Country = "cn"
                },
                ShippingMethodID = "22",
                WarehouseCode    = "3019"
            };
            order.CountryOfProcessing = "CN";
            var ordertotal = new OrderTotals();

            Assert.AreEqual(50, Slomovingskudiscountamt);
        }
        public void ProcessOtherMarchPromotionPC_Test()
        {
            var Promotion = new PromotionElement
            {
                StartDate            = "01-01-2016",
                EndDate              = "01-31-2016",
                PromotionType        = ServiceProvider.OrderChinaSvc.PromotionType.Other,
                HasIncrementaldegree = true,
                AmountMinInclude     = 2000,
                CustTypeList         = new List <string>
                {
                    "PC", "CS"
                },
                FreeSKUList = new FreeSKUCollection
                {
                    new FreeSKU
                    {
                        Quantity = 1,
                        SKU      = "560P"
                    }
                },
            };

            Promotion.Code = "00017";
            var Cart = MyHLShoppingCartGenerator.GetBasicShoppingCart("CN1632369 ", "zh-CN", "20", "3019",
                                                                      new ShippingAddress_V02());

            Cart.CartItems = new ShoppingCartItemList
            {
                ShoppingCartItemHelper.GetCartItem(1, 1, "1316"),
                ShoppingCartItemHelper.GetCartItem(2, 1, "1317"),
            };

            var Order = new Order_V01();

            Order.DistributorID = "CN1632369";
            var order1 = new OnlineOrderItem()
            {
                Quantity    = 10,
                SKU         = "1316",
                Description = "",
                RetailPrice = 0,
                IsPromo     = false,
            };

            Order.OrderItems = new OrderItems {
                order1
            };
            Order.Shipment = new ShippingInfo_V01
            {
                Address = new ServiceProvider.OrderSvc.Address()
                {
                    City    = "眉山市",
                    Country = "cn"
                },
                ShippingMethodID = "22",
                WarehouseCode    = "3019"
            };

            Order.CountryOfProcessing = "CN";
            var ordertotal = new OrderTotals_V02();

            GetQuotes(Order, ordertotal, false, out ordertotal);
            var promorule = new MyHerbalife3.Ordering.Rules.Promotional.zh_CN.PromotionalRules();

            Cart.Totals = ordertotal;
            FreeSKUCollection skuCollection = promorule.CheckPcPromo(Promotion, Cart);

            Assert.AreEqual(skuCollection[0].Quantity, 2);
        }
        public void ProcessVolumePromotionDSNovPromo_Test()
        {
            var promoelement = new PromotionElement
            {
                StartDate            = "11-01-2015",
                EndDate              = "11-30-2015",
                PromotionType        = MyHerbalife3.Ordering.ServiceProvider.OrderChinaSvc.PromotionType.Volume,
                HasIncrementaldegree = true,
                VolumeMinInclude     = 200,
                CustTypeList         = new List <string>
                {
                    "DS", "FM", "SC", "SP", "SQ"
                },
                FreeSKUList = new FreeSKUCollection
                {
                    new FreeSKU
                    {
                        Quantity = 1,
                        SKU      = "1443"
                    },
                    new FreeSKU
                    {
                        Quantity = 1,
                        SKU      = "K365"
                    },
                },
                SelectableSKUList = new FreeSKUCollection
                {
                    new FreeSKU
                    {
                        Quantity = 1,
                        SKU      = "1316"
                    },
                    new FreeSKU
                    {
                        Quantity = 1,
                        SKU      = "1318"
                    },
                },
                FreeSKUListForVolume = new FreeSKUCollection
                {
                    new FreeSKU
                    {
                        Quantity = 1,
                        SKU      = "1443"
                    },
                },
                FreeSKUListForSelectableSku = new FreeSKUCollection
                {
                    new FreeSKU
                    {
                        Quantity = 1,
                        SKU      = "K365"
                    },
                },
            };

            promoelement.Code = "DSNovPromo";
            var cart = MyHLShoppingCartGenerator.GetBasicShoppingCart("CN640521", "zh-CN", "20", "3019",
                                                                      new ShippingAddress_V02());

            cart.CartItems = new ShoppingCartItemList
            {
                ShoppingCartItemHelper.GetCartItem(1, 1, "1316"),
                ShoppingCartItemHelper.GetCartItem(2, 1, "1442"),
                ShoppingCartItemHelper.GetCartItem(3, 1, "1318")
            };
            var order = new Order_V01();

            order.DistributorID = "CN640521";
            var orderitem1 = new OnlineOrderItem()
            {
                Quantity    = 10,
                SKU         = "1316",
                Description = "",
                RetailPrice = 0,
                IsPromo     = false,
            };
            var orderitem2 = new OnlineOrderItem()
            {
                Quantity    = 1,
                SKU         = "1442",
                Description = "",
                RetailPrice = 0,
                IsPromo     = false,
            };
            var orderitem3 = new OnlineOrderItem()
            {
                Quantity    = 1,
                SKU         = "1318",
                Description = "",
                RetailPrice = 0,
                IsPromo     = false,
            };

            order.OrderItems = new OrderItems {
                orderitem1, orderitem2, orderitem3
            };
            order.Shipment = new ShippingInfo_V01
            {
                Address = new MyHerbalife3.Ordering.ServiceProvider.OrderSvc.Address
                {
                    City    = "眉山市",
                    Country = "cn"
                },
                ShippingMethodID = "22",
                WarehouseCode    = "3019"
            };
            order.CountryOfProcessing = "CN";
            var ordertotal = new MyHerbalife3.Ordering.ServiceProvider.OrderSvc.OrderTotals_V02();

            GetQuotes(order, ordertotal, false, out ordertotal);
            var promorule = new MyHerbalife3.Ordering.Rules.Promotional.zh_CN.PromotionalRules();

            cart.Totals = ordertotal;
            FreeSKUCollection skuCollection = promorule.CheckDsNovPromo(promoelement, cart);

            Assert.AreEqual(skuCollection[0].Quantity, 3);
        }
            private List <OnlineOrder> SingleOrderWithProduct(string countryCode, string distributorId, DateTime startDate)
            {
                List <OnlineOrder> result = new List <OnlineOrder>();

                OnlineOrder order = new OnlineOrder();

                order.OrderHeaderID = 123;
                order.ChannelInfo   = "网上订单";
                order.StoreInfo     = "";
                order.Status        = "待付款";
                order.Shipment      = new ShippingInfo_V01()
                {
                    Phone     = "11111",
                    Recipient = "Tester",
                    Address   = new MyHerbalife3.Ordering.ServiceProvider.OrderChinaSvc.Address_V01()
                    {
                        Line1                  = "Line1",
                        Line2                  = "Line2",
                        Line3                  = "Line3",
                        Line4                  = "Line4",
                        City                   = "City",
                        CountyDistrict         = "District",
                        PostalCode             = "12345",
                        Country                = "CN",
                        StateProvinceTerritory = "Province",
                    }
                };
                order.Handling = new HandlingInfo();
                order.Pricing  = new OrderTotals_V02()
                {
                    VolumePoints    = 100,
                    AmountDue       = 319.00m,
                    ProductTaxTotal = 0m,
                    DiscountAmount  = 0m,
                    Donation        = 0m,
                    ItemsTotal      = 319m,
                };
                order.OrderItems = new OrderItems();

                OnlineOrderItem item = new OnlineOrderItem();

                item             = new OnlineOrderItem();
                item.SKU         = "1316";
                item.Quantity    = 2;
                item.Description = "F1";
                item.RetailPrice = 316m;
                order.OrderItems.Add(item);

                order.CountryOfProcessing    = countryCode;
                order.CustomerID             = "";
                order.DiscountPercentage     = 0;
                order.DistributorID          = distributorId;
                order.Messages               = new MessageCollection();
                order.InputMethod            = InputMethodType.Internet;
                order.OrderCategory          = ServiceProvider.OrderChinaSvc.OrderCategoryType.RSO;
                order.OrderID                = "";
                order.Payments               = new PaymentCollection();
                order.PurchaseCategory       = OrderPurchaseType.None;
                order.PurchasingLimits       = new PurchasingLimits();
                order.QualifyingSupervisorID = "";
                order.ReceivedDate           = startDate.AddDays(2);
                order.OrderMonth             = order.ReceivedDate.ToString("yyyyMM");
                order.ReferenceID            = "";
                order.SessionId              = "";
                order.ShoppingCartID         = 123;
                order.SponsorId              = "";
                order.TransactionId          = "";
                order.UseSlidingScale        = false;
                order.VATRegistrationId      = "";

                result.Add(order);
                return(result);
            }