/// <summary> /// 将同步商品存在本地数据库 /// </summary> /// <param name="goods"></param> private void StorageSyncGoods() { if (syncGoods == null) { return; } //同步商品大于0 if (syncGoods.list != null && syncGoods.list.Count() > 0) { SetText("准备同步数据..."); syncGoods.list.ForEach(item => { if (!string.IsNullOrEmpty(item.url) && item.url.Length > 80 && !item.url.Contains("detail.tmall.com") && !item.url.Contains("item.taobao.com")) { item.userid = currentUserId; item.taobaousername = loginname; item.id = LogicSyncGoods.In(currentUserId).AddUserSyncGoods(item); } }); SetText("准备完成!"); } }
/// <summary> /// 获取需要同步的商品数量 /// </summary> private void GetSyncGoodsCount() { new Thread(() => { SyncGoodsCount = 0; SetText("正在查询同步数量..."); //获取上传未同步完成的商品数据 lastNotSyncGoodsList = LogicSyncGoods.In(currentUserId).FindByUserSyncGoodsList(currentUserId, loginname); if (lastNotSyncGoodsList != null && lastNotSyncGoodsList.Count() > 0) { lastNotSyncGoodsCount = lastNotSyncGoodsList.Count(); SetText("上次剩余 " + lastNotSyncGoodsCount + " 条商品未同步!"); } //页面加载完成回调 SyncGoodsCount = LogicSyncGoods.Instance.GetCountForApplyGoods(LoginToken); SetText("查询完成,本次更新 " + SyncGoodsCount + " 条商品!"); //if (SyncGoodsCount > 0) GetSyncGoodsList(); }) { IsBackground = true }.Start(); }
/// <summary> /// 登录成功回调 /// </summary> /// <exception cref="NotImplementedException"></exception> private void Lw_LoginSuccessHandle(JArray jsons) { SetText("登录成功!"); // LogicSyncGoods.In(currentUserId).AddUserSyncAccount(new SyncAccountModel() { loginname = loginname, loginpwd = loginpwd, userid = currentUserId }); var lastSyncTime = LogicSyncGoods.In(currentUserId).FindByUserLastSyncTime(currentUserId, loginname); if (lastSyncTime != null) { LastSyncTime(lastSyncTime.datetime); } else { LastSyncTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); } cookieJson = JsonConvert.SerializeObject(jsons); VerifyCookies(); }
/// <summary> /// /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> private void TBSyncControlPanel_Load(object sender, EventArgs e) { var data = LogicSyncGoods.In(currentUserId).FindByUserSyncAccount(currentUserId); if (data != null) { txtLoginName.Text = data.loginname; txtLoginPwd.Text = data.loginpwd; } }
/// <summary> /// 获取需要同步的商品地址列表 /// </summary> private void GetSyncGoodsList() { new Thread(() => { if (SyncGoodsCount > 0) { SetText("正在获取同步数据..."); //页面加载完成回调 syncGoods = LogicSyncGoods.Instance.GetListForApplyGoods(LoginToken); //更新商品入库 StorageSyncGoods(); } //确认时间 LogicSyncGoods.In(currentUserId).GetConfirmForApplyGoods(LoginToken); isLoginSuccess = true; }) { IsBackground = true }.Start(); }
/// <summary> /// 开始同步 /// </summary> private void StartSync() { isStartAsync = true; btnAsyncGoods.Text = "暂停同步"; SetText("启动同步"); SyncGoodsProgressVisible(true); //添加最后更新时间 LogicSyncGoods.In(currentUserId).AddUserLastSyncTime(new LastSyncTimeModel() { userid = currentUserId, datetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), taobaousername = loginname }); lastNotSyncGoodsList = LogicSyncGoods.In(currentUserId).FindByUserSyncGoodsList(currentUserId, loginname); if (lastNotSyncGoodsList != null) { SetNotSyncGoodsCount(lastNotSyncGoodsList.Count()); } var data = lastNotSyncGoodsList; int len = data.Count(); SyncGoodsProgress.Maximum = len; new Thread(() => { if (lastNotSyncGoodsList != null && lastNotSyncGoodsList.Count() > 0) { SetText("开始申请计划..."); bool isFinish = true; for (int i = 0; i < len; i++) { isCompleted = false; if (isStartAsync) { if (lw == null) { break; } if (!string.IsNullOrEmpty(data[i].url)) { //申请计划 lw.GoPlanPage(data[i]); SetPos(i + 1); while (!isCompleted && isStartAsync) { } SetNotSyncGoodsCount(len - (i + 1)); } } else { isFinish = false; break; } } if (isFinish) { SyncGoodsProgressVisible(false); SetText("同步完成!"); } } }) { IsBackground = true }.Start(); }
/// <summary> /// 定向计划申请完成 /// </summary> /// <param name="success">if set to true [success].</param> /// <param name="data">The data.</param> private void Lw_SubmitSuccessHandle(bool success, SyncGoodsList data) { SetText(string.Format("{0} 计划申请成功.", data.goodsId)); LogicSyncGoods.In(currentUserId).DeleteUserSyncGoods(data.goodsId, currentUserId, data.taobaousername); isCompleted = true; }