Raven.Studio.Models.PatchModel.UpdateAvailableObjects C# (CSharp) Method

UpdateAvailableObjects() private method

private UpdateAvailableObjects ( ) : void
return void
        private void UpdateAvailableObjects()
        {
            switch (PatchOn)
            {
                case PatchOnOptions.Collection:
                    ApplicationModel.Current.Server.Value.SelectedDatabase.Value.AsyncDatabaseCommands.GetTermsCount(
                        CollectionsIndex, "Tag", "", 100)
                        .ContinueOnSuccessInTheUIThread(collections =>
                        {
                            AvailableObjects.Clear();
                            AvailableObjects.AddRange(collections.OrderByDescending(x => x.Count)
                                                          .Where(x => x.Count > 0)
                                                          .Select(col => col.Name).ToList());
							if(KeepSelectedItem == false)
								SelectedItem = AvailableObjects.FirstOrDefault();
							else
								KeepSelectedItem = false;								

							OnPropertyChanged(() => SelectedItem);
                        });
                    break;
                case PatchOnOptions.Index:
                     ApplicationModel.Database.Value.AsyncDatabaseCommands.GetIndexNamesAsync(0, 500)
                        .ContinueOnSuccessInTheUIThread(indexes =>
                        {
                            AvailableObjects.Clear();
                            AvailableObjects.AddRange(indexes.OrderBy(x => x));
							if (KeepSelectedItem == false)
								SelectedItem = AvailableObjects.FirstOrDefault();
							else
								KeepSelectedItem = false;

							OnPropertyChanged(() => SelectedItem);
                        });
                    break;
            }
        }