public GetOrderStatusDetailsResponse getOrderStatusDetails(GetOrderStatusDetailsRequest GetOrderStatusDetailsRequest) { getOrderStatusDetailsRequest1 inValue = new getOrderStatusDetailsRequest1(); inValue.GetOrderStatusDetailsRequest = GetOrderStatusDetailsRequest; getOrderStatusDetailsResponse1 retVal = ((OrderStatusService)(this)).getOrderStatusDetails(inValue); return(retVal.GetOrderStatusDetailsResponse); }
public getOrderStatusDetailsResponse1 getOrderStatusDetails(getOrderStatusDetailsRequest1 request) { string errorMessage = string.Empty; var response = new getOrderStatusDetailsResponse1(); if (Valid(request, ref errorMessage)) { if (Authorized(request, ref errorMessage)) { List <GetOrderStatusDetailsResponseOrderStatus> listOrderStatus = new List <GetOrderStatusDetailsResponseOrderStatus>(); switch (request.GetOrderStatusDetailsRequest.queryType) { case 1: //PO Search using (var context = new LAN_AX2012_PRODEntities1()) { var orders = context.LAN_SP_B2B_SUBMITTEDORDERBYPONUMBER(request.GetOrderStatusDetailsRequest.referenceNumber).ToList(); foreach (var order in orders) { var details = new GetOrderStatusDetailsResponseOrderStatusOrderStatusDetail() { factoryOrderNumber = order.OrderNumber, expectedShipDate = order.RequestedShipDate, expectedShipDateSpecified = true, validTimestamp = DateTime.UtcNow }; switch (order.SALESSTATUS) { case 0: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.None; details.statusName = "None"; break; case 1: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.OpenOrder; details.statusName = "Open Order"; break; case 2: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.Delivered; details.statusName = "Delivered"; break; case 3: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.Invoiced; details.statusName = "Invoiced"; break; case 4: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.Canceled; details.statusName = "Canceled"; break; default: break; } GetOrderStatusDetailsResponseOrderStatus ordersdetails = new GetOrderStatusDetailsResponseOrderStatus() { purchaseOrderNumber = order.PONumber, OrderStatusDetailArray = new GetOrderStatusDetailsResponseOrderStatusOrderStatusDetail[] { details } }; listOrderStatus.Add(ordersdetails); } response.GetOrderStatusDetailsResponse = new GetOrderStatusDetailsResponse(); response.GetOrderStatusDetailsResponse.OrderStatusArray = listOrderStatus.ToArray(); } break; case 2: //SO Search using (var context = new LAN_AX2012_PRODEntities1()) { var orders = context.LAN_SP_B2B_SUBMITTEDORDERBYORDERIDWITHSTATUS(request.GetOrderStatusDetailsRequest.referenceNumber).ToList(); foreach (var order in orders) { var details = new GetOrderStatusDetailsResponseOrderStatusOrderStatusDetail() { factoryOrderNumber = order.OrderNumber, expectedShipDate = order.RequestedShipDate, expectedShipDateSpecified = true, validTimestamp = DateTime.UtcNow }; switch (order.SALESSTATUS) { case 0: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.None; details.statusName = "None"; break; case 1: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.OpenOrder; details.statusName = "Open Order"; break; case 2: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.Delivered; details.statusName = "Delivered"; break; case 3: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.Invoiced; details.statusName = "Invoiced"; break; case 4: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.Canceled; details.statusName = "Canceled"; break; default: break; } GetOrderStatusDetailsResponseOrderStatus ordersdetails = new GetOrderStatusDetailsResponseOrderStatus() { purchaseOrderNumber = order.PONumber, OrderStatusDetailArray = new GetOrderStatusDetailsResponseOrderStatusOrderStatusDetail[] { details } }; listOrderStatus.Add(ordersdetails); } response.GetOrderStatusDetailsResponse = new GetOrderStatusDetailsResponse(); response.GetOrderStatusDetailsResponse.OrderStatusArray = listOrderStatus.ToArray(); } break; case 3: //Last Update Search using (var context = new LAN_AX2012_PRODEntities1()) { var orders = context.LAN_SP_B2B_SUBMITTEDORDERSBYACCOUNTWITHSTATUS(request.GetOrderStatusDetailsRequest.id) .Where(x => x.MODIFIEDDATETIME.ToUniversalTime() > request.GetOrderStatusDetailsRequest.statusTimeStamp).ToList(); foreach (var order in orders) { var details = new GetOrderStatusDetailsResponseOrderStatusOrderStatusDetail() { factoryOrderNumber = order.OrderNumber, expectedShipDate = order.RequestedShipDate, expectedShipDateSpecified = true, validTimestamp = DateTime.UtcNow }; switch (order.SALESSTATUS) { case 0: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.None; details.statusName = "None"; break; case 1: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.OpenOrder; details.statusName = "Open Order"; break; case 2: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.Delivered; details.statusName = "Delivered"; break; case 3: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.Invoiced; details.statusName = "Invoiced"; break; case 4: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.Canceled; details.statusName = "Canceled"; break; default: break; } GetOrderStatusDetailsResponseOrderStatus ordersdetails = new GetOrderStatusDetailsResponseOrderStatus() { purchaseOrderNumber = order.PONumber, OrderStatusDetailArray = new GetOrderStatusDetailsResponseOrderStatusOrderStatusDetail[] { details } }; listOrderStatus.Add(ordersdetails); } response.GetOrderStatusDetailsResponse = new GetOrderStatusDetailsResponse(); response.GetOrderStatusDetailsResponse.OrderStatusArray = listOrderStatus.ToArray(); } break; case 4: //All Open Search using (var context = new LAN_AX2012_PRODEntities1()) { var orders = context.LAN_SP_B2B_SUBMITTEDORDERSBYACCOUNTWITHSTATUS(request.GetOrderStatusDetailsRequest.id) .Where(x => x.SALESSTATUS == 1).ToList(); foreach (var order in orders) { var details = new GetOrderStatusDetailsResponseOrderStatusOrderStatusDetail() { factoryOrderNumber = order.OrderNumber, expectedShipDate = order.RequestedShipDate, expectedShipDateSpecified = true, validTimestamp = DateTime.UtcNow }; switch (order.SALESSTATUS) { case 0: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.None; details.statusName = "None"; break; case 1: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.OpenOrder; details.statusName = "Open Order"; break; case 2: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.Delivered; details.statusName = "Delivered"; break; case 3: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.Invoiced; details.statusName = "Invoiced"; break; case 4: details.statusID = GetOrderStatusDetailsResponseOrderStatusOrderStatusDetailStatusID.Canceled; details.statusName = "Canceled"; break; default: break; } GetOrderStatusDetailsResponseOrderStatus ordersdetails = new GetOrderStatusDetailsResponseOrderStatus() { purchaseOrderNumber = order.PONumber, OrderStatusDetailArray = new GetOrderStatusDetailsResponseOrderStatusOrderStatusDetail[] { details } }; listOrderStatus.Add(ordersdetails); } response.GetOrderStatusDetailsResponse = new GetOrderStatusDetailsResponse(); response.GetOrderStatusDetailsResponse.OrderStatusArray = listOrderStatus.ToArray(); } break; default: errorMessage += "Unknown Query Type."; response.GetOrderStatusDetailsResponse.errorMessage = errorMessage; break; } } } else { response.GetOrderStatusDetailsResponse = new GetOrderStatusDetailsResponse(); response.GetOrderStatusDetailsResponse.errorMessage = errorMessage; } return(response); }