public void AddSyncData(string id, SyncData syncData) { if (ContainsScreen(id)) { var data = _syncInfoTable[id].SyncDatas.Find(s => s.SyncType == syncData.SyncType); if (data == null) { _syncInfoTable[id].SyncDatas.Add(syncData); } else { _logService.Debug(string.Format("<-{0}->:ThreadID={1}", "AddSyncData", System.Threading.Thread.GetDomainID().ToString())); UpdateSyncData(id, syncData); } } else { var syncInformation = new SyncInformation(); syncInformation.Sn = id; syncInformation.SyncDatas = new List<SyncData>() { syncData }; _syncInfoTable.Add(id, syncInformation); } }
private void StartSyncProcess(string id, List<SyncSummaryResponse> list) { //lock (_syncObj) //{ // _isSynchronizing = true; //} _sem.Wait(); var syncInfoRequest = new SyncInformation(); syncInfoRequest.Sn = id; syncInfoRequest.SyncDatas = new List<SyncData>(); var syncInfo = _syncInformationManager.GetSyncInformation(id); foreach (var item in list) { var syncData = syncInfo.SyncDatas.FirstOrDefault(d => d.SyncType == item.Type); if (syncData == null) continue; if (item.IsSync == SyncFlag.CareNotSynchronized) { syncInfoRequest.SyncDatas.Add(new SyncData() { SyncType = item.Type, SyncParam = item.IsSync, Datestamp = syncData.Datestamp, SyncContent = syncData.SyncContent }); } else// if(item.IsSync == SyncFlag.TerminalNotSynchronized) { syncInfoRequest.SyncDatas.Add(new SyncData() { SyncType = item.Type, SyncParam = item.IsSync, Datestamp = syncData.Datestamp, SyncContent = string.Empty }); } //else //{ // continue; //} } RestFulClient.Instance.Post("api/SyncInfo/index", syncInfoRequest, response => { SyncInfoResponse(response); }); }