/* **************************** Order Request Item ***************************** * Required Fields: * * stockNumber - Identifying number for the inventory item - string - 24 * quantity - Number of items desired - int - N/A * * *****************************************************************************/ private OrderRequestItem EmitOrderRequestItem(OrderLineItem item) { var orderRequestItem = new OrderRequestItem { StockNumber = DBCache.EquipmentTypes.First(e => e.EquipmentTypeId == item.EquipTypeId).FrontierSKU, Quantity = item.Quantity, ShipQuantity = item.Quantity, JobNumber = 52000, Transaction = _masterOrder.MasterOrderId, Sequence = 1 }; System.Diagnostics.Debug.WriteLine(orderRequestItem.ToString()); return orderRequestItem; }
private OrderLineItem AddReturnMailer(OrderLineItem item) { OrderLineItem returnMailer = null; var neededType = DBCache.EquipmentTypes.FirstOrDefault(e => e.EquipmentTypeId == item.EquipTypeId); if (neededType != null && neededType.ReturnMailer != null && neededType.ReturnMailer.FrontierSKU != null && DBCache.EquipmentTypes.Any(e => e.FrontierSKU == neededType.ReturnMailer.FrontierSKU)) { returnMailer = new OrderLineItem { EquipTypeId = DBCache.EquipmentTypes.First(e => e.FrontierSKU == neededType.ReturnMailer.FrontierSKU).EquipmentTypeId }; } if (returnMailer != null) { returnMailer.Quantity = item.Quantity; } return returnMailer; }
/// <summary> /// Create a new OrderLineItem object. /// </summary> /// <param name="orderLineItemId">Initial value of the OrderLineItemId property.</param> /// <param name="orderId">Initial value of the OrderId property.</param> /// <param name="equipTypeId">Initial value of the EquipTypeId property.</param> /// <param name="quantity">Initial value of the Quantity property.</param> /// <param name="addedOnFulfillment">Initial value of the AddedOnFulfillment property.</param> /// <param name="qtyFulfilled">Initial value of the QtyFulfilled property.</param> public static OrderLineItem CreateOrderLineItem(global::System.Int32 orderLineItemId, global::System.Int32 orderId, global::System.Int32 equipTypeId, global::System.Int32 quantity, global::System.Boolean addedOnFulfillment, global::System.Int32 qtyFulfilled) { OrderLineItem orderLineItem = new OrderLineItem(); orderLineItem.OrderLineItemId = orderLineItemId; orderLineItem.OrderId = orderId; orderLineItem.EquipTypeId = equipTypeId; orderLineItem.Quantity = quantity; orderLineItem.AddedOnFulfillment = addedOnFulfillment; orderLineItem.QtyFulfilled = qtyFulfilled; return orderLineItem; }
/// <summary> /// This is a Complemar-specific method to add necessary pieces of collateral (Exchange letter, disconnect letter, etc.) /// to an order based on the items already in the order. This method should be called once all items have been added /// and the user has submitted the order for processing. /// </summary> /// <param name="orderItems"></param> /// <returns></returns> private IEnumerable<OrderLineItem> AddCollateral(IEnumerable<OrderLineItem> orderItems) { var collateralList = new List<OrderLineItem>(); // initialize list of collateral to return var potentialCollateral = new List<EquipmentType>(); EquipmentType collateralType = null; // loop through all items being ordered foreach (var item in orderItems) { // look collateral equipment type up in the EquipmentTypes table var equipmentType = DBCache.EquipmentTypes.First(e => e.EquipmentTypeId == item.EquipTypeId); if (equipmentType != null && equipmentType.MailersCollateral != null) { collateralType = equipmentType.MailersCollateral; } // if item exists in dictionary and is not already in collateralToAdd list, add to list if (!potentialCollateral.Contains(collateralType) && collateralType != null) { potentialCollateral.Add(collateralType); } } /* Now we have all the possible collateral types required on order. We must decide which to include. * Logic for this is as follows: * * If a STB is sent, no matter what else is sent, default to STB Exchange Letter * If no STB is sent, but a BHR is sent, default to BHR exchange letter * If only return mailers are ordered, default to STB Disconnect letter * If only BHR return mailer is ordered, default to BHR disconnect letter * */ // Take highest priority collateral. if (potentialCollateral.Count > 0) { collateralType = potentialCollateral.OrderByDescending(c => c.MailersPriority).FirstOrDefault(); // create a new item to add to order var equipCat = DBCache.EquipmentCategories.FirstOrDefault(c => collateralType != null && c.EquipmentCategoryId == collateralType.EquipmentCategoryId); if (equipCat != null) { if (collateralType != null) { var collateralItem = new OrderLineItem { Quantity = 1, EquipTypeId = collateralType.EquipmentTypeId }; collateralList.Add(collateralItem); } } } return collateralList; }
/// <summary> /// Deprecated Method for adding a new object to the OrderLineItems EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToOrderLineItems(OrderLineItem orderLineItem) { base.AddObject("OrderLineItems", orderLineItem); }