public async Task LoadPreferencesAsync() { try { Categories = new ObservableCollection <CategoryModel>((await _client.GetCategoriesAsync()).OrderBy(x => x.Name)); var preferences = (await _client.GetList <PreferenceModel>(x => x.UserId == Settings.UserId)).ToArray(); var ix = 0; foreach (var preference in preferences) { preference.Index = ix++; preference.Category = _categories.FirstOrDefault(x => x.Id == preference.CategoryId); } Preferences = new ObservableCollection <PreferenceModel>(preferences); } catch (Exception) { Preferences = new ObservableCollection <PreferenceModel>(); throw; } }