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();
            }
        }