private static void AddInstanceIndexStats(StoreStats stats, InstanceStatsHolder response) { foreach (var index in stats.Indexing) { IndexStats indexStats = null; if (response.DatabaseStats != null && response.DatabaseStats.Indexes != null) { indexStats = response.DatabaseStats.Indexes .Where(idx => idx.Name == index.Name) .FirstOrDefault(); } var instanceIdxStatus = new InstanceIndexStats() { Url = response.Url }; if (indexStats == null) { instanceIdxStatus.Exists = false; instanceIdxStatus.IsStale = true; } else { instanceIdxStatus.Exists = true; if (response.DatabaseStats != null && response.DatabaseStats.Indexes != null) { instanceIdxStatus.IsStale = response.DatabaseStats.StaleIndexes.Contains(index.Name); } else { instanceIdxStatus.IsStale = true; } if (response.IndexHashCodes != null) { int hashCode; if (response.IndexHashCodes.TryGetValue(indexStats.Name, out hashCode)) { instanceIdxStatus.HashCode = hashCode; } } instanceIdxStatus.CopyFrom(indexStats); } index.Instances.Add(instanceIdxStatus); } }