public SkuCollection FetchByQuery(Query qry) { SkuCollection coll = new SkuCollection(); coll.LoadAndCloseReader(qry.ExecuteReader()); return(coll); }
public SkuCollection FetchAll() { SkuCollection coll = new SkuCollection(); Query qry = new Query(Sku.Schema); coll.LoadAndCloseReader(qry.ExecuteReader()); return(coll); }
/// <summary> /// Normalizes the cart quantities. /// </summary> /// <param name="order">The order.</param> /// <returns></returns> public static bool NormalizeCartQuantities(Order order) { bool changesMade = false; if (order.OrderId > 0) { List <OrderItem> itemsToRemove = new List <OrderItem>(); foreach (OrderItem item in order.OrderItemCollection) { Product product = Product.FetchByID(item.ProductId); if (!product.AllowNegativeInventories) { SkuCollection skuCollection = new SkuCollection().Where(Sku.Columns.SkuX, SubSonic.Comparison.Equals, item.Sku).Load(); if (skuCollection != null) { if (skuCollection.Count == 0 || skuCollection[0].Inventory == 0 || product.ProductStatusDescriptorId == (int)ProductStatus.Inactive) { itemsToRemove.Add(item); changesMade = true; } else if (item.Quantity > skuCollection[0].Inventory) { item.Quantity = skuCollection[0].Inventory; new OrderController().AdjustQuantity(order.OrderId, item.OrderItemId, item.Quantity, order.UserName); changesMade = true; } } } } foreach (OrderItem item in itemsToRemove) { new OrderController().RemoveItem(order.OrderId, item.OrderItemId, order.UserName); order.OrderItemCollection.Remove(item); } if (order.OrderItemCollection.Count == 0) { Order.Delete(order.OrderId); } } return(changesMade); }
public SkuCollection FetchByID(object SkuId) { SkuCollection coll = new SkuCollection().Where("SkuId", SkuId).Load(); return(coll); }