public static bool CanOrderItemBeRemovedFromCollection(CollectionDataDO collection, CollectionOrderItem collectionOrderItem) { if (collection == null) { return false; } if (collectionOrderItem == null) { return false; } if (collectionOrderItem.StatusCode != OrderItemStatus.Found.ToString() && collectionOrderItem.StatusCode != OrderItemStatus.NotFound.ToString()) { return false; } if (collection.NotFoundItemList.Select(x => x.ID).Contains(collectionOrderItem.OrderItemID) == false && collection.FoundItemList.Select(x => x.ID).Contains(collectionOrderItem.OrderItemID) == false) { return false; } return true; }
public static void AddOrderItemToNotFoundList(OrderItemDO orderItemDO, int locationId, int userId) { CollectionDataDO collectionDataDO = CollectionDataBL.CreateCollectionDataIfNotExist(locationId, userId); ValidateLocation(locationId, collectionDataDO.Location.ID); CheckoutDataContextProvider dcp = CheckoutDataContextProvider.Instance; OrderItemDO orderItem = CheckoutBL.GetOrderItemById(orderItemDO.ID); if (SupplyRuleEngine.CanOrderItemBeAddedToNotFoundList(collectionDataDO, orderItem)) { Repository<CollectionOrderItem> rep = new Repository<CollectionOrderItem>(dcp); CollectionOrderItem collectionOrderItem = new CollectionOrderItem(); collectionOrderItem.OrderItemID = orderItemDO.ID; collectionOrderItem.StatusCode = OrderItemStatus.NotFound.ToString(); collectionOrderItem.CollectionDataID = collectionDataDO.ID; collectionOrderItem.NotFoundReasonID = orderItemDO.NotFoundReasonID; rep.InsertOnSubmit(collectionOrderItem); dcp.CommitChanges(userId); } }
public static void AddOrderItemListToFoundList(List<int> orderItemIdList, int locationId, int userId) { CollectionDataDO collectionDataDO = CollectionDataBL.CreateCollectionDataIfNotExist(locationId, userId); ValidateLocation(locationId, collectionDataDO.Location.ID); CheckoutDataContextProvider dcp = CheckoutDataContextProvider.Instance; List<OrderItemDO> orderItemList = CheckoutBL.GetOrderItemListByIdList(orderItemIdList); foreach (var orderItem in orderItemList) { if (SupplyRuleEngine.CanOrderItemBeAddedToFoundList(collectionDataDO, orderItem)) { Repository<CollectionOrderItem> rep = new Repository<CollectionOrderItem>(dcp); CollectionOrderItem collectionOrderItem = new CollectionOrderItem(); collectionOrderItem.OrderItemID = orderItem.ID; collectionOrderItem.StatusCode = OrderItemStatus.Found.ToString(); collectionOrderItem.CollectionDataID = collectionDataDO.ID; rep.InsertOnSubmit(collectionOrderItem); } } dcp.CommitChanges(userId); }