void StuLibSync_Syncing(object sender, SyncPercentEventArgs e) { State = SyncState.Syncing; _Percent = e.Percent; if (e.Type == SyncType.Add) { if (e.State == SyncState.Success) { _AddAmount += 1; } else if (e.State == SyncState.Fail) { _ErrorAmount += 1; } } else if (e.Type == SyncType.Update) { if (e.State == SyncState.Success) { _UpdateAmount += 1; } else if (e.State == SyncState.Fail) { _ErrorAmount += 1; } } }
/// <summary> /// 同步中 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void StuLibSync_Syncing(object sender, SyncPercentEventArgs e) { switch (e.Type) { case SyncType.Add: if (e.State == SyncState.Success) { addAmount += 1; } else { filedAmount += 1; } break; case SyncType.Update: if (e.State == SyncState.Success) { updateAmount += 1; } else { filedAmount += 1; } break; } }
/// <summary> /// 同步完成 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void StuLibSync_Synced(object sender, SyncPercentEventArgs e) { if ( e.State == SyncState.Fail) { WriteLog.Write("读者信息同步:同步失败。"); } WriteLog.Write(string.Format("读者信息同步:同步完成,新增了{0}条,更新了{1}条,失败{2}条", addAmount, updateAmount, filedAmount)); }
void StuLibSync_Synced(object sender, SyncPercentEventArgs e) { if (_UpdateAmount > 0) { State = SyncState.Fail; _FinishTime = DateTime.Now; } else { _FinishTime = DateTime.Now; State = SyncState.Success; } }
public void Sync() { try { List <SeatManage.ClassModel.ReaderInfo> readerList = null; try { if (_StuLibSyncSet != null) { readerSource.StuLibSyncSet = _StuLibSyncSet; } else { throw new Exception("尚未初始化读者信息同步设置属性"); } readerList = readerSource.GetSourceReaderInfo(); if (readerList.Count < 500) { throw new Exception(string.Format("读者信息异常,仅有:{0}条数据", readerList.Count)); } } catch (Exception ex) { throw new Exception(string.Format("同步已终止,获取读者信息失败:{0}", ex.Message)); } //清空数据库然后再执行添加操作 SeatManage.Bll.T_SM_Reader.Clear(); for (int i = 0; i < readerList.Count; i++) { try { SeatManage.Bll.T_SM_Reader.Add(readerList[i]); if (Syncing != null) { SyncPercentEventArgs args = new SyncPercentEventArgs(); args.Percent = (int)(((double)i / (double)readerList.Count) * 100); args.State = SyncState.Success; args.Type = SyncType.Add; Syncing(this, args); } } catch { if (Syncing != null) { SyncPercentEventArgs args = new SyncPercentEventArgs(); args.Percent = (int)((double)i / (double)readerList.Count) * 100; args.State = SyncState.Fail; args.Type = SyncType.Add; Syncing(this, args); } } } if (Synced != null) { SyncPercentEventArgs args = new SyncPercentEventArgs(); args.Percent = 100; args.State = SyncState.Success; args.Type = SyncType.None; Synced(this, args); } } catch (Exception ex) { throw ex; } }