public CreateOrderServiceRequest(StorefrontCreateOrderRequest clientRequest) { this.OrderWebServiceRequest = new OrderWebServiceRequest(); var partners = new Partner4[clientRequest.Partners.Count]; for (var i = 0; i < clientRequest.Partners.Count; i++) { var partner = new Partner4 { id = clientRequest.Partners[i].PartnerType.ToString(), PartnerID = clientRequest.Partners[i].PartnerId, PartnerType = clientRequest.Partners[i].PartnerType.ToString() }; partners[i] = partner; } var orderRequestHeader = new OrderRequestHeader2() { SalesOrgID = clientRequest.SalesAreaInfo.SalesOrgId, DistChannelID = clientRequest.SalesAreaInfo.DistChannelId, DivisionID = clientRequest.SalesAreaInfo.DivisionId, language = clientRequest.Language, DeliveryBlockText = clientRequest.DeliveryBlockText, DeliveryBlockStatus = clientRequest.DeliveryBlockStatus, PaymentType = clientRequest.PaymentType, PurchaseOrderID = clientRequest.PurchaseOrderID, WebOrderNumber = clientRequest.WebOrderNumber, NumberOfItems = clientRequest.OrderItems.Count.ToString(), AttentionLines = clientRequest.AttentionLines, AttentionLinesBillTo = clientRequest.AttentionLinesBillTo, TelephoneNumber = clientRequest.TelephoneNumber, AltTAX = clientRequest.AltTAX, VATNumber = clientRequest.VATNumber, VATExpirationDate = clientRequest.VATExpirationDate, AdditionalInfo = clientRequest.AdditionalInfo, Partner = partners }; if (clientRequest.CreditCard != null) { orderRequestHeader.CreditCard = new CreditCard2() { HolderName = clientRequest.CreditCard.CardHolderName, CreditCardNumber = clientRequest.CreditCard.CardNumber, CreditCardType = clientRequest.CreditCard.CardType, ExpirationMonth = clientRequest.CreditCard.ExpirationMonth, ExpirationYear = clientRequest.CreditCard.ExpirationYear, SecurityNumber = clientRequest.CreditCard.SecurityCode }; } var orderRequestDetail = new OrderRequestDetail2[clientRequest.OrderItems.Count]; for (var i = 0; i < clientRequest.OrderItems.Count; i++) { var lineNum = i + 1; var requestDetail = new OrderRequestDetail2 { OrderLineNumber = lineNum.ToString(), ProductID = clientRequest.OrderItems[i].ProductID, Quantity = clientRequest.OrderItems[i].Quantity.ToString(), RequestedDate = clientRequest.OrderItems[i].RequestedDate, //YYYMMDD ShippingInstructions = clientRequest.OrderItems[i].SpecialShippingInstructions }; orderRequestDetail[i] = requestDetail; } OrderRequestPayLoad = new OrderRequest2() { OrderRequestHeader = orderRequestHeader, OrderRequestDetail = orderRequestDetail }; this.OrderWebServiceRequest.OrderRequest = OrderRequestPayLoad; }
public static OrderWebServiceRequest ToWmOrderRequest(this StorefrontCreateOrderRequest clientRequest) { var result = new OrderWebServiceRequest(); var partners = new Partner4[clientRequest.Partners.Count]; for (var i = 0; i < clientRequest.Partners.Count; i++) { var partner = new Partner4 { id = clientRequest.Partners[i].PartnerType.ToString(), PartnerID = clientRequest.Partners[i].PartnerId, PartnerType = clientRequest.Partners[i].PartnerType.ToString() }; partners[i] = partner; } string sapOrderType = new SAPOrderType(clientRequest).GetOrderTypeCode(); var orderRequestHeader = new OrderRequestHeader2() { //TODO: Need to get Sender attribute added by Derek / WM team //Sender = new Sender2 { Component = sapOrderType, Task = TASK_ORDER_REQUEST }, SpecialHandlingInstructions = clientRequest.SpecialShippingInstuctions == string.Empty ? null : clientRequest.SpecialShippingInstuctions, SalesOrgID = clientRequest.SalesAreaInfo.SalesOrgId, DistChannelID = clientRequest.SalesAreaInfo.DistChannelId, DivisionID = clientRequest.SalesAreaInfo.DivisionId, language = clientRequest.Language, PromoCode = clientRequest.PromoCode, DeliveryBlockText = clientRequest.DeliveryBlockText, DeliveryBlockStatus = clientRequest.DeliveryBlockStatus, DeliveryBlock = clientRequest.DeliveryBlock, PaymentType = clientRequest.PaymentType, PurchaseOrderID = clientRequest.PurchaseOrderID, WebOrderNumber = clientRequest.WebOrderNumber, AgentOrderID = clientRequest.AgentOrderId, NumberOfItems = clientRequest.OrderItems.Count.ToString(), AttentionLines = clientRequest.AttentionLines, AttentionLinesBillTo = clientRequest.AttentionLinesBillTo, TelephoneNumber = clientRequest.TelephoneNumber, AltTAX = clientRequest.AltTAX, VATNumber = clientRequest.VATNumber, VATExpirationDate = clientRequest.VATExpirationDate, AdditionalInfo = clientRequest.AdditionalInfo, Partner = partners }; if (clientRequest.CreditCard != null) { orderRequestHeader.CreditCard = new CreditCard2() { HolderName = clientRequest.CreditCard.CardHolderName, CreditCardNumber = clientRequest.CreditCard.CardNumber, CreditCardType = clientRequest.CreditCard.CardType, ExpirationMonth = clientRequest.CreditCard.ExpirationMonth, ExpirationYear = clientRequest.CreditCard.ExpirationYear, SecurityNumber = clientRequest.CreditCard.SecurityCode }; } var orderRequestDetail = new OrderRequestDetail2[clientRequest.OrderItems.Count]; for (var i = 0; i < clientRequest.OrderItems.Count; i++) { var lineNum = i + 1; var specialShippingInstructions = clientRequest.OrderItems[i].SpecialShippingInstructions; var requestDetail = new OrderRequestDetail2 { OrderLineNumber = lineNum.ToString(), ProductID = clientRequest.OrderItems[i].ProductID, Quantity = clientRequest.OrderItems[i].Quantity.ToString(CultureInfo.CurrentCulture), RequestedDate = clientRequest.OrderItems[i].RequestedDate, ShippingInstructions = specialShippingInstructions == string.Empty ? null : specialShippingInstructions }; orderRequestDetail[i] = requestDetail; } var payload = new OrderRequest2() { OrderRequestHeader = orderRequestHeader, OrderRequestDetail = orderRequestDetail }; result.OrderRequest = payload; return(result); }