Ejemplo n.º 1
0
        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}";
                }
            });
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 public IFoodDetailViewModel GetFoodDetailViewModel(IFoodViewModel selectedFood)
 {
     return(_container.Resolve <FoodDetailViewModel>(new NamedParameter("selectedFood", selectedFood)));
 }