public void SendRequestThread(StockTakingModel item, int mode) { loading = new Loading(); Thread t = new Thread(delegate() { if (DatabaseModule.Instance.QuerySelectHaveSendFlagData()) { List <StockTakingModel> stockList = new List <StockTakingModel>(); stockList.Add(item); stockList.AddRange(DatabaseModule.Instance.QuerySelectAllStocktakingSendFlagData()); SendRequestList(stockList); loading.DisposeLoading(); } else { SendRequest(item, mode); loading.DisposeLoading(); } }); t.IsBackground = true; t.Start(); loading.ShowDialog(); }
public void SendRequestThread(StockTakingModel item, decimal newQuantity, int newUnitCode, int mode) { loading = new Loading(); Thread t = new Thread(delegate() { item.SendFlag = true; SendRequest(item, newQuantity, newUnitCode, mode); loading.DisposeLoading(); }); t.IsBackground = true; t.Start(); loading.ShowDialog(); }
private bool SendRequest(StockTakingModel item, int mode) { bool returnValue = true; try { req = (HttpWebRequest)WebRequest.Create(@"http://" + DatabaseModule.Instance.FtpServer + ":15267/api/stocktakings/InsertStocktaking"); req.ContentType = "application/json"; req.Method = "POST"; req.AllowWriteStreamBuffering = true; req.Proxy = null; Stocktaking s = new Stocktaking { StocktakingID = item.StocktakingID, ScanMode = item.ScanMode, Barcode = item.Barcode, LocationCode = item.LocationCode, Quantity = item.Quantity, UnitCode = item.UnitCode, Flag = item.Flag, Description = item.Description, SKUCode = item.SKUCode, ExBarcode = item.ExBarcode, InBarcode = item.InBarcode, SKUMode = item.SKUMode, HHTName = DatabaseModule.Instance.HHTName, HHTID = DatabaseModule.Instance.HHTID, DepartmentCode = string.IsNullOrEmpty(item.DepartmentCode) ? DatabaseModule.Instance.currentDepartmentCode : item.DepartmentCode, CreateBy = DatabaseModule.Instance.currentUser, UpdateBy = DatabaseModule.Instance.currentUser }; string pJson = JsonConvert.SerializeObject(s); //req.ContentLength = encoding.GetBytes(pJson).Length; writer = new StreamWriter(req.GetRequestStream()); writer.Write(pJson); writer.Flush(); writer.Close(); res = (HttpWebResponse)req.GetResponse(); reader = new StreamReader(res.GetResponseStream()); string responseMessage = reader.ReadToEnd(); reader.Close(); if ("F".Equals(responseMessage)) { throw new APIException("Server cant commit transfered-data to database, please check the server-side."); } item.SendFlag = true; } catch (APIException ex) { item.SendFlag = false; loading.ShowMessageLoading(ex.Message); returnValue = false; } catch (Exception ex) { item.SendFlag = false; loading.ShowMessageLoading("The process cant transfer realtime data to server."); returnValue = false; } DatabaseModule.Instance.QueryInsertFromScan(item, mode); return(returnValue); }