void ExecuteCommandNameAddImageToCartCommand(object sender) { if (sender is ShrineItem item) { ShrineCartItems.Add(item); RaisePropertyChanged("ShrineCartItems"); RaisePropertyChanged("ShrineCartWidth"); RaisePropertyChanged("MoreItemsCount"); RaisePropertyChanged("ShowMoreItemsCount"); } }
async void ExecuteCommandNameShowCartCommand() { var cartItemGroupsFromCart = ShrineCartItems.ToList().GroupBy(x => x.Name); if (!cartItemGroupsFromCart.Any()) { RaisePropertyChanged("ShrineCartItems"); RaisePropertyChanged("ShrineCartWidth"); RaisePropertyChanged("ShowMoreItemsCount"); RaisePropertyChanged("MoreItemsCount"); } else { var cartItemGroups = cartItemGroupsFromCart.Select(cartItemsGroup => new CartItemGroup { TotalGroupPrice = cartItemsGroup.Sum(x => x.Price), Count = cartItemsGroup.Count(), Image = cartItemsGroup.FirstOrDefault()?.Image, Name = cartItemsGroup.Key }).ToList(); CartItemsGroups = new ObservableCollection <CartItemGroup>(cartItemGroups); RaisePropertyChanged("CartItemsGroups"); } var currentState = StateManager.CurrentState <MenuStates>(); if (currentState == MenuStates.ShowCart) { await StateManager.GoToState(MenuStates.Hide); } else { await StateManager.GoToState(MenuStates.ShowCart); } }