public ChoiceViewModel(IGenderRestService genderRestService, IChoiceNavigationService choiceNavigationService,
                        IClothesNavigationService clothesNavigationService)
     : base(choiceNavigationService)
 {
     _choiceGenderViewModelItems = Observable.FromAsync(() => GetChoiceGenderItems(clothesNavigationService, genderRestService)).
                                   ToProperty(this, nameof(ChoiceGenderViewModelItems), scheduler: RxApp.MainThreadScheduler);
 }
Example #2
0
        public ChoiceGenderViewModelItem(IClothesNavigationService clothesNavigationService, IGenderCategoryDomain genderCategory)
        {
            _clothesNavigationService = clothesNavigationService;
            _genderCategory           = genderCategory;

            var choiceCategoryViewModelItems = new ObservableCollection <ChoiceCategoryViewModelItem>(ToChoiceCategoryItems(_genderCategory));

            _choiceBaseViewModelItems = choiceCategoryViewModelItems.
                                        ToObservableChangeSet().
                                        AutoRefresh(choiceCategory => choiceCategory.ClothesTypesVisible).
                                        ToCollection().
                                        Select(ChoiceBaseViewModelItemsUpdate).
                                        ToProperty(this, nameof(ChoiceBaseViewModelItems));

            ChoiceBaseTapCommand = ReactiveCommand.CreateFromTask <ChoiceBaseViewModelItem, ChoiceBaseViewModelItem>(ChoiceBaseTapUpdate);
        }