public OrdersChangeInfo shipDrugOrders(List <int> OrderForShipping, string connectionString, string sessionTicket, out TransactionalInformation transaction) { var method = MethodInfo.GetCurrentMethod(); var ipInfo = Util.GetIPInfo(HttpContext.Current.Request); var userSecurityTicket = VerifySessionToken(sessionTicket); List <OrderForStatusChange> orderChangeL = new List <OrderForStatusChange>(); transaction = new TransactionalInformation(); OR_GOwS_1428[] ordersInMo2 = cls_Get_all_Orders_with_Status.Invoke(connectionString, new P_OR_GOwS_1428() { Status = new string[] { "2" } }, userSecurityTicket).Result; OrdersChangeInfo orderToReturn = new OrdersChangeInfo(); try { foreach (var ordSt in OrderForShipping) { var data = ordersInMo2.Where(od => od.OrderNumber == ordSt).SingleOrDefault(); if (data != null) { OrderForStatusChange orderChange = new OrderForStatusChange(); orderChange.CaseID = data.CaseID; orderChange.OrderID = data.OrderID; orderChange.StatusTo = 3; orderChange.StatusToStr = "MO3"; orderChangeL.Add(orderChange); } } orderToReturn.orderForChange = orderChangeL; orderToReturn.NumberChangeXls = OrderForShipping.Count(); orderToReturn.NumberChange = OrderForShipping.Count() - orderChangeL.Count(); } catch (Exception ex) { Logger.LogInfo(new LogEntry(ipInfo.address, ipInfo.agent, connectionString, method, userSecurityTicket, ex)); transaction.ReturnMessage = new List <string>(); string errorMessage = ex.Message; transaction.ReturnStatus = false; transaction.ReturnMessage.Add(errorMessage); transaction.IsAuthenicated = true; transaction.IsException = true; } return(orderToReturn); }
public async Task <HttpResponseMessage> Post() { List <int> orderNumbers = new List <int>(); TransactionalInformation transaction = new TransactionalInformation(); OrdersChangeInfoApiModel orderChangeApi = new OrdersChangeInfoApiModel(); if (!Request.Content.IsMimeMultipartContent()) { return(Request.CreateResponse(HttpStatusCode.UnsupportedMediaType)); } var provider = new MultipartMemoryStreamProvider(); await Request.Content.ReadAsMultipartAsync(provider); foreach (var file in provider.Contents) { var filename = file.Headers.ContentDisposition.FileName.Trim('\"'); var buffer = await file.ReadAsByteArrayAsync(); MemoryStream ms = new MemoryStream(buffer); bool hasHeader = true; System.Data.DataTable excelData = ExcelUtils.getDataFromExcelFileNoPath(ms, hasHeader); try { foreach (System.Data.DataRow item in excelData.Rows) { if (item.ItemArray[0].ToString() != "") { orderNumbers.Add(int.Parse(item.ItemArray[0].ToString())); } } } catch (Exception) { return(Request.CreateResponse <TransactionalInformation>(HttpStatusCode.BadRequest, transaction)); } } OrdersChangeInfo orders = dashboardDataService.shipDrugOrders(orderNumbers, connectionString, SessionToken, out transaction); orderChangeApi.OrdersChangeInfoApi = orders; if (transaction.ReturnStatus) { return(Request.CreateResponse(HttpStatusCode.OK, orderChangeApi)); } return(Request.CreateResponse <TransactionalInformation>(HttpStatusCode.BadRequest, transaction)); }