private async Task OnVariationListItemSelected(object item) { if (item is HabitVariationDto selectedHabitVariation) { var habitVariation = await Mediator.Send(new GetHabitVariationDetailQuery { Id = selectedHabitVariation.Id }, CancellationToken.None); var mini = new HabitDifficultyDto(); var plus = new HabitDifficultyDto(); var elite = new HabitDifficultyDto(); if (habitVariation.DifficultiesList.Any()) { mini = habitVariation.DifficultiesList.SingleOrDefault(d => d.DifficultyLevel == HabitDifficultyLevel.Mini); plus = habitVariation.DifficultiesList.SingleOrDefault(d => d.DifficultyLevel == HabitDifficultyLevel.Plus); elite = habitVariation.DifficultiesList.SingleOrDefault(d => d.DifficultyLevel == HabitDifficultyLevel.Elite); } await Xamarin.Forms.Application.Current.MainPage.Navigation.PushAsync(new HabitVariationPageView { BindingContext = new HabitVariationPageViewModel() { HabitVariation = habitVariation, HabitList = HabitList, Mini = mini, Plus = plus, Elite = elite } }); } }
private void OnVariationItemSelected(object item) { if (item is HabitVariationDto selectedHabitVariation) { SelectedHabitVariation = selectedHabitVariation; if (SelectedDifficulty.Id > 0 && SelectedDifficulty?.HabitVariation.HabitId != selectedHabitVariation.Id) { SelectedDifficulty = new HabitDifficultyDto(); } CurrentDifficultyList.Clear(); foreach (var difficulty in selectedHabitVariation.DifficultiesList) { if (!string.IsNullOrEmpty(difficulty.Description)) { CurrentDifficultyList.Add(difficulty); } } SelectedDifficulty = CurrentDifficultyList.FirstOrDefault(); } }