private void Update(NameAndCount[] collections) { var collectionModels = collections.OrderByDescending(x => x.Count).Select(col => new CollectionModel() { Name = col.Name, Count = col.Count }).ToArray(); Collections.Match(collectionModels, AfterUpdate); }
private void Update(NameAndCount[] collections) { var collectionModels = collections.OrderByDescending(x => x.Count).Select(col => new CollectionModel(DatabaseCommands) { Name = col.Name, Count = col.Count }).ToArray(); Collections.Match(collectionModels); if (SelectedCollection.Value == null) SelectedCollection.Value = collectionModels.FirstOrDefault(); }
private void AfterUpdate(NameAndCount[] collectionDocumentsCount) { // update documents count var nameToCount = collectionDocumentsCount.ToDictionary(i => i.Name, i => i.Count); var collections = Collections.OrderByDescending(model => model.Count).ToList(); foreach (var collectionModel in Collections) { collectionModel.Count = nameToCount[collectionModel.Name]; } if (initialSelectedDatabaseName != null && (SelectedCollection.Value == null || SelectedCollection.Value.Name != initialSelectedDatabaseName || Collections.Contains(SelectedCollection.Value) == false)) { SelectedCollection.Value = Collections.FirstOrDefault(x => x.Name == initialSelectedDatabaseName); } if (SelectedCollection.Value == null) SelectedCollection.Value = Collections.FirstOrDefault(); SortedCollectionsList.View.Refresh(); }
private void AfterUpdate(NameAndCount[] collectionDocumentsCount) { // update documents count var nameToCount = collectionDocumentsCount.OrderByDescending(count => count.Count).ToDictionary(i => i.Name, i => i.Count); var collections = Collections.OrderByDescending(model => model.Count).ToList(); Collections = new BindableCollection<CollectionModel>(model => model.Name); foreach (var collectionModel in collections) { Collections.Add(collectionModel); } foreach (var collectionModel in Collections) { collectionModel.Count = nameToCount[collectionModel.Name]; } if (initialSelectedDatabaseName != null && (SelectedCollection.Value == null || SelectedCollection.Value.Name != initialSelectedDatabaseName || Collections.Contains(SelectedCollection.Value) == false)) { SelectedCollection.Value = Collections.FirstOrDefault(x => x.Name == initialSelectedDatabaseName); } if (SelectedCollection.Value == null) SelectedCollection.Value = Collections.FirstOrDefault(); OnPropertyChanged(() => Collections); }