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