protected override void UploadData() { try { LogHelper.doLog(this.ClassName, "==準備發送==\r\n" + StockPricesList.Count.ToString() + "筆"); for (int i = 0; i < StockPricesList.Count; i = i + 100) { var items = StockPricesList.Skip(i).Take(100); ReceiveByDeilyPriceReqModel StockPricesReq = new ReceiveByDeilyPriceReqModel(); StockPricesReq.StockPrices = items.ToList(); var jsonText = "{\"ReqParam\" : " + JsonConvert.SerializeObject(StockPricesReq) + @"}"; LogHelper.doLog(this.ClassName, "==發送(" + StockPricesReq.StockPrices.Count().ToString() + "筆)==\r\n" + jsonText); WebClient client = new WebClient(); client.Encoding = Encoding.UTF8; client.Headers.Add(HttpRequestHeader.ContentType, "application/json"); client.Headers.Add("PowerAdmin", Common.Tools.Setting.AppSettings("PowerAdmin")); var response = client.UploadData(UploadUrl, "POST", Encoding.UTF8.GetBytes(jsonText)); string resResult = Encoding.UTF8.GetString(response); LogHelper.doLog(this.ClassName, "==接收==\r\n" + resResult); } System.IO.File.WriteAllText(this.CheckDoneFullPath, "done"); LogHelper.doLog(this.ClassName, "[Succ]Done"); } catch (Exception ex) { throw ex; } }
/// <summary> /// 接收(Json)更新股價 /// </summary> /// <returns></returns> public ActionResult ReceiveByDeilyPrice(ReceiveByDeilyPriceReqModel ReqParam) { BaseResModel<Object> result = new BaseResModel<Object>(); try { Common.Tools.AuthHelper.IsPowerAdmin(Request); int SuccCount = 0; int FailCount = 0; // Open database (or create if not exits) using (var db = new LiteDatabase(LazyStockDBPath)) { // Get customer collection var StockInfos = db.GetCollection<StockInfoResModel>("StockInfo"); for (int i = 0; i < ReqParam.StockPrices.Count; i++) { StockPriceDataModel items = ReqParam.StockPrices[i]; try { var DbStockPrice = StockInfos.FindById(items.StockNum); if (DbStockPrice == null) continue; DbStockPrice.Price = Math.Round(items.StockPrice, 2); DbStockPrice.PriceModifyDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); StockInfos.Update(items.StockNum, DbStockPrice); SuccCount++; } catch { FailCount++; } } } result.Message = "成功:" + SuccCount.ToString() + ",失敗:" + FailCount.ToString(); result.Code = ResponseCodeEnum.Success; LogHelper.doLog("ReceiveByDeilyPrice", result.Message); } catch (Exception e) { result.Code = ResponseCodeEnum.Failed; result.Message = e.Message; } return Json(result, JsonRequestBehavior.AllowGet); }