public static List <HighQualityListModel> QueryHighQualityListForSlot() { List <QueryHighQualityListForSlot_Result> SpHighQualityList = new List <QueryHighQualityListForSlot_Result>(); List <HighQualityListModel> HighQualityList = new List <HighQualityListModel>(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <QueryHighQualityList_Result, HighQualityListModel>(); }); IMapper iMapper = config.CreateMapper(); using (StockEntities db = new StockEntities()) { SpHighQualityList = db.QueryHighQualityListForSlot(0.05).ToList(); } SpHighQualityList.ForEach(t => { HighQualityListModel r = iMapper.Map <QueryHighQualityListForSlot_Result, HighQualityListModel>(t); HighQualityList.Add(r); }); for (int i = 0; i < HighQualityList.Count; i = i + 100) { var items = HighQualityList.Skip(i).Take(100); ReceiveByHighQualityListReqModel r = new ReceiveByHighQualityListReqModel(); r.HighQualityStock = items.ToList <HighQualityListModel>(); var jsonText = "{\"ReqParam\" : " + JsonConvert.SerializeObject(r) + @"}"; LogHelper.doLog("StableStockServices_QueryHighQualityListForSlot", "==發送(" + r.HighQualityStock.Count().ToString() + "筆)==\r\n" + jsonText); WebClient client = new WebClient(); client.Encoding = Encoding.UTF8; client.Headers.Add(HttpRequestHeader.ContentType, "application/json"); client.Headers.Add("PowerAdmin", Setting.AppSettings("PowerAdmin")); var response = client.UploadData(Common.Tools.Setting.AppSettings("ReceiveByHighQualityList"), "POST", Encoding.UTF8.GetBytes(jsonText)); string resResult = Encoding.UTF8.GetString(response); LogHelper.doLog("StableStockServices_QueryHighQualityListForSlot", "==接收==\r\n" + resResult); } LogHelper.doLog("StableStockServices_QueryHighQualityListForSlot", JsonConvert.SerializeObject(HighQualityList)); return(HighQualityList); }
/// <summary> /// [接收高品質高股訊息][修改LiteDB] /// </summary> /// <returns></returns> public ActionResult ReceiveByHighQualityList(ReceiveByHighQualityListReqModel ReqParam) { BaseResModel<HighQualityResModel> result = new BaseResModel<HighQualityResModel>(); try { Common.Tools.AuthHelper.IsPowerAdmin(Request); int SuccCount = 0; int FailCount = 0; // Open database (or create if not exits) using (var db = new LiteDatabase(LazySlotDBPath)) { // Get customer collection var HighQualityStock = db.GetCollection<HighQualityResModel>("HighQualityStock"); var lists = HighQualityStock.FindAll(); foreach (var row in lists) HighQualityStock.Delete(row.StockNum); for (int i = 0; i < ReqParam.HighQualityStock.Count; i++) { HighQualityResModel items = ReqParam.HighQualityStock[i]; try { HighQualityStock.Insert(items.StockNum, items); SuccCount++; } catch { FailCount++; } } } result.Message = "成功:" + SuccCount.ToString() + ",失敗:" + FailCount.ToString(); result.Code = ResponseCodeEnum.Success; } catch (Exception e) { result.Code = ResponseCodeEnum.Failed; result.Message = e.Message; } return Json(result, JsonRequestBehavior.AllowGet); }