public BasketItemViewModel(IFoodViewModel food) { Food = food; this.WhenAnyValue(x => x.Quantity) .Select(_ => TotalPrice) .Subscribe(async totalPrice => { // Animating Total Price in UI var j = totalPrice - 15; j = j <= 0 ? 0 : j; for (var i = j; i <= totalPrice; i++) { await Task.Delay(5); TotalPriceAnimated = $"{i:C}"; } }); }
public FoodDetailViewModel( IFoodViewModel selectedFood, INavigationService navigationService, IBasketItemsService basketItemsService) { SelectedFood = selectedFood; CurrentBasketItem = new BasketItemViewModel(SelectedFood); AddToBasket = ReactiveCommand.Create(() => basketItemsService.Add(CurrentBasketItem)); GoToBasket = ReactiveCommand.CreateFromTask(async() => await navigationService.NavigateAsync(typeof(IBasketViewModel))); BasketItemsCount = basketItemsService.ItemsCount; basketItemsService.ItemsCountChange .Select(x => x.ToString()) .Subscribe(x => BasketItemsCount = x); }
public IFoodDetailViewModel GetFoodDetailViewModel(IFoodViewModel selectedFood) { return(_container.Resolve <FoodDetailViewModel>(new NamedParameter("selectedFood", selectedFood))); }