private void GetFulfillmentWarehouse() { foreach (OrderForm form in OrderGroup.OrderForms) { var deletedLineItems = new List <LineItem>(); foreach (var shipment in form.Shipments.OfType <Shipment>()) { var warehouse = FulfillmentWarehouseProcessor.GetFulfillmentWarehouse(shipment); foreach (var lineItem in Shipment.GetShipmentLineItems(shipment)) { if (warehouse != null) { lineItem.InventoryStatus = (int)GetInventoryStatus(lineItem.Code, warehouse.Code); } else if (CatalogContext.Current.GetCatalogEntryDto(lineItem.Code, new CatalogEntryResponseGroup(CatalogEntryResponseGroup.ResponseGroup.Variations)) != null) { deletedLineItems.Add(lineItem); } } if (warehouse != null) { shipment.WarehouseCode = warehouse.Code; } } foreach (var lineItem in deletedLineItems) { form.RemoveLineItemFromShipments(lineItem); lineItem.Delete(); } } }
private void UpdateGiftLineItemWarehouse() { var warehouseCode = WarehouseRepository.GetDefaultWarehouse().Code; foreach (OrderForm orderForm in OrderGroup.OrderForms) { foreach (Shipment shipment in orderForm.Shipments) { var fulfillmentWarehouse = FulfillmentWarehouseProcessor.GetFulfillmentWarehouse(shipment); if (fulfillmentWarehouse != null) { warehouseCode = fulfillmentWarehouse.Code; } var giftItemCollection = Shipment.GetShipmentLineItems(shipment).Where(x => x.IsGift); foreach (var giftItem in giftItemCollection) { giftItem.WarehouseCode = warehouseCode; } } } }