/* ******************************* Order Request ********************************* * Required Fields: * * Items - List of items to order - ArrayOfOrderRequestItems - N/A * JobNumber - Customer contract number - int * OrderedBy - Person placing order - OrderedByRequest * ShipTo - Person receiving order - ShipToRequest * * *******************************************************************************/ public OrderRequest EmitOrderRequest(Order order, MasterOrder masterOrder, List<OrderLineItem> orderItems, ShipAddress shipAddress, string uniqueId = null) { var orderRequest = new OrderRequest(); var itemArray = new OrderRequestItem[orderItems.Count]; // add item request for each item for (var i = 0; i < orderItems.Count; i++) { itemArray[i] = EmitOrderRequestItem(orderItems[i]); } orderRequest.Items = itemArray; orderRequest.OrderName = masterOrder.MasterOrderId.ToString(CultureInfo.InvariantCulture); orderRequest.JobNumber = 52000; orderRequest.OrderedBy = EmitOrderedByRequest(shipAddress); orderRequest.ShipTo = new[] { EmitShipToRequest(shipAddress) }; orderRequest.Comment = "TEST ORDER: DO NOT SHIP"; orderRequest.Transaction = 0; //*int.Parse(*/masterOrder.MasterOrderId;//.ToString() + masterOrder.CreateDateTime.Hour.ToString() + masterOrder.CreateDateTime.Minute.ToString() orderRequest.OrderPrefix = "FI"; orderRequest.CreatedBy = uniqueId; orderRequest.TType = TransactionTypes.StandardOrder; #region Additional Fields orderRequest.REC_NUM = 0; //+ masterOrder.CreateDateTime.Second.ToString()); orderRequest.Sequence = 0; //orderRequest.METHOD = 0; //orderRequest.WarehouseID = 0; orderRequest.OrderOrigination = OrderSources.Web; //orderRequest.Status = OrderStatuses.Open; //orderRequest.OrderApprovalStatus = ApprovalStatus.Approved; //orderRequest.CreatedDate = DateTime.Now; //orderRequest.CustReference = string.Empty; //orderRequest.CustomerNumber = string.Empty; // orderRequest.CustomerOrderType = string.Empty; //orderRequest.LastModDate = DateTime.Now; // orderRequest.LastUpdatedBy = string.Empty; //orderRequest.DiscountCode = 'a'; // orderRequest.UsageCode = 'a'; orderRequest.CustomerID = shipAddress.SubscriberId; #endregion System.Diagnostics.Debug.WriteLine(orderRequest.ToString()); return orderRequest; }
/* **************************** 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; }