private static T[] IConfigurableArrayTo <T>(IConfigurable[] configurables) where T : IConfigurable { T[] array = new T[configurables.Length]; for (int i = 0; i < configurables.Length; i++) { array[i] = BackgroundJobBackendSession.IConfigurableToT <T>(configurables[i]); } return(array); }
public BackgroundJobMgrInstance FindSchedulerInstance(Guid roleId, DateTime heartbeatThreshold, Regions region, long?datacenter = null) { QueryFilter filter = QueryFilter.AndTogether(new QueryFilter[] { new ComparisonFilter(ComparisonOperator.Equal, BackgroundJobBackendSession.RoleIdQueryProperty, roleId), new ComparisonFilter(ComparisonOperator.Equal, BackgroundJobBackendSession.heartbeatDatetimeThresholdQueryProperty, heartbeatThreshold), new ComparisonFilter(ComparisonOperator.Equal, BackgroundJobBackendSession.RegionSelectionSetQueryProperty, region), new ComparisonFilter(ComparisonOperator.Equal, BackgroundJobBackendSession.DataCenterIdQueryProperty, datacenter) }); IConfigurable[] array = this.dataProvider.Find <BackgroundJobMgrInstance>(filter, null, false, null); if (array == null || array.Length == 0) { return(null); } return(BackgroundJobBackendSession.IConfigurableToT <BackgroundJobMgrInstance>(array[0])); }