private static void MetaSync(ThreadContext tc) { while (!tc.IsToStop) { if (StationRepository.IsPrematchEnabled) { try { var stringsUpdateId = UpdateFileEntrySr.GetLastUpdate(eDataSyncCacheType.Metainfo); var id = stringsUpdateId == null ? 0 : stringsUpdateId.DataSyncCacheID; var updateline = WsdlRepository.GetMetainfo(StationRepository.StationNumber, id); if (updateline != null && updateline.Length > 0) { ProviderHelper.UpdateDatabase(DateTime.Now, DalStationSettings.Instance.UseDatabaseForOthers, DataArrayToList(updateline)); LineSr.ProcessDataSqlUpdateSucceeded(eUpdateType.PreMatches, "SportRadar Metainfo Pre-Match Update."); } if (updateline != null && updateline.Length > 0) continue; } catch (Exception) { } } var syncinterval = StationRepository.IsReady ? Convert.ToInt32(ConfigurationManager.AppSettings["METAINFO_SYNC_INTERVAL"]) : 1; Thread.Sleep(syncinterval * 1000); } }
private static void StatisticsSync(ThreadContext tc) { while (!tc.IsToStop) { if (StationRepository.IsStatisticsEnabled) { //get statistics try { var stringsUpdateId = UpdateFileEntrySr.GetLastUpdate(eDataSyncCacheType.Statistic); var id = stringsUpdateId == null ? 0 : stringsUpdateId.DataSyncCacheID; var updateline = WsdlRepository.UpdateStatistics(StationRepository.StationNumber, id); if (updateline != null && updateline.Length > 0) { ProviderHelper.UpdateDatabase(DateTime.Now, DalStationSettings.Instance.UseDatabaseForOthers, DataArrayToList(updateline)); } if (updateline != null && updateline.Length > 0) { continue; } } catch (Exception) { } } //get flags try { var resourceUpdateId = UpdateFileEntrySr.GetLastUpdate(eDataSyncCacheType.Resources); var id = resourceUpdateId == null ? 0 : resourceUpdateId.DataSyncCacheID; var updateline = WsdlRepository.UpdateFlags(StationRepository.StationNumber, id); if (updateline != null && updateline.Length > 0) { ProviderHelper.UpdateDatabase(DateTime.Now, DalStationSettings.Instance.UseDatabaseForOthers, DataArrayToList(updateline)); LineSr.ProcessDataSqlUpdateSucceeded(eUpdateType.PreMatches, "SportRadar Pre-Match Update."); } } catch (Exception ex) { } var syncinterval = Convert.ToInt32(ConfigurationManager.AppSettings["STATIONPROPERTY_SYNC_INTERVAL"]); if (StationRepository.SyncInterval > 0) { syncinterval = StationRepository.SyncInterval; } Thread.Sleep(syncinterval * 1000); } }
private static void PreMatchSync(ThreadContext tc) { try { var arrUpdateRecords = WsdlRepository.GetLatestConfidenceFactorsUpdate(StationNumber); ProviderHelper.UpdateDatabase(DateTime.Now, DalStationSettings.Instance.UseDatabaseForOthers, DataArrayToList(arrUpdateRecords)); } catch (Exception e) { } while (!tc.IsToStop) { int?iTotal = 0; try { if (true) { /* * using (StreamReader streamReader = new StreamReader(@"C:\Library\Data.xml", Encoding.UTF8)) * { * string sXml = streamReader.ReadToEnd(); * * SportRadarLineContainer srlc = SportRadarLineContainer.FromXmlString(sXml); * * LineSr.SyncRoutines(eUpdateType.PreMatches, "Test", "None", null, delegate(object obj) * { * ProviderHelper.MergeFromSportRadarLineContainer(srlc); * }); * } */ while (!StationRepository.IsReady) { Thread.Sleep(1000); } valueForm vf = null; BsmHubConfigurationResponse bhcr = null; string sStationNumber = StationNumber; var stringsUpdateId = UpdateFileEntrySr.GetLastUpdate(eDataSyncCacheType.String); var id = stringsUpdateId == null ? 0 : stringsUpdateId.DataSyncCacheID; UpdateRecord[] arrUpdateRecords = WsdlRepository.UpdateLocalization(sStationNumber, id); ProviderHelper.UpdateDatabase(DateTime.Now, DalStationSettings.Instance.UseDatabaseForOthers, DataArrayToList(arrUpdateRecords)); if (arrUpdateRecords != null && arrUpdateRecords.Length > 0) { DataCopy.UpdateLanguages(); } // Lock Offer long[] arrLockedTournamentIds = null; long[] arrLockedOddIds = WsdlRepository.GetLockedOffer(sStationNumber, out arrLockedTournamentIds); // Sync Locked Odds LineSr.Instance.LockedObjects.SyncLockedOdds(arrLockedOddIds); int counter = 0; do { var lastUpdateId = UpdateFileEntrySr.GetLastUpdate(eDataSyncCacheType.Match); id = lastUpdateId == null ? 0 : lastUpdateId.DataSyncCacheID; arrUpdateRecords = WsdlRepository.UpdateLine(sStationNumber, id, DateTime.MinValue, out iTotal); if (iTotal > 0 && arrUpdateRecords != null) { iTotal = iTotal + arrUpdateRecords.Length; } DataCopy.UpdateProgressBar(iTotal); ProviderHelper.UpdateDatabase(DateTime.Now, DalStationSettings.Instance.UseDatabaseForPreMatches, DataArrayToList(arrUpdateRecords)); LineSr.ProcessDataSqlUpdateSucceeded(eUpdateType.PreMatches, "SportRadar Pre-Match Update."); } while (iTotal > 0 && counter++ < 100); /* * // Sync Locked Groups * SyncList<long> lLockedGroupIds = new SyncList<long>(); * * // Tournament IDs to Group IDs * foreach (long lTournamentId in arrLockedTournamentIds) * { * GroupLn group = LineSr.Instance.AllObjects.Groups.SafelyGetGroupByKeyName(GroupLn.GROUP_TYPE_GROUP_T, lTournamentId); * * if (group != null) * { * lLockedGroupIds.SafelyAdd(group.GroupId); * } * } * * LineSr.Instance.LockedObjects.SyncLockedGroups(lLockedGroupIds); */ } } catch (Exception excp) { } var syncinterval = Convert.ToInt32(ConfigurationManager.AppSettings["STATIONPROPERTY_SYNC_INTERVAL"]); if (StationRepository.SyncInterval > 0) { syncinterval = StationRepository.SyncInterval; } if (iTotal > 0) { syncinterval = 0; } Thread.Sleep(syncinterval * 1000); } }