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