Esempio n. 1
0
        public ActionResult ShopBar()
        {
            var customer = _services.WorkContext.CurrentCustomer;

            var isAdmin      = customer.IsAdmin();
            var isRegistered = isAdmin || customer.IsRegistered();

            if (_storeInfoSettings.StoreClosed)
            {
                if (!isAdmin || !_storeInfoSettings.StoreClosedAllowForAdmins)
                {
                    return(Content(""));
                }
            }

            var cart = _services.WorkContext.CurrentCustomer.GetCartItems(ShoppingCartType.ShoppingCart, _services.StoreContext.CurrentStore.Id);

            var model = new ShopBarModel
            {
                IsAuthenticated        = isRegistered,
                CustomerEmailUsername  = isRegistered ? (_customerSettings.UsernamesEnabled ? customer.Username : customer.Email) : "",
                IsCustomerImpersonated = _services.WorkContext.OriginalCustomerIfImpersonated != null,
                DisplayAdminLink       = _services.Permissions.Authorize(StandardPermissionProvider.AccessAdminPanel),
                ShoppingCartEnabled    = _services.Permissions.Authorize(StandardPermissionProvider.EnableShoppingCart) && _shoppingCartSettings.MiniShoppingCartEnabled,
                WishlistEnabled        = _services.Permissions.Authorize(StandardPermissionProvider.EnableWishlist),
                CompareProductsEnabled = _catalogSettings.CompareProductsEnabled
            };

            if (model.ShoppingCartEnabled || model.WishlistEnabled)
            {
                if (model.ShoppingCartEnabled)
                {
                    model.ShoppingCartItems = cart.GetTotalProducts();
                }

                if (model.WishlistEnabled)
                {
                    model.WishlistItems = customer.CountProductsInCart(ShoppingCartType.Wishlist, _services.StoreContext.CurrentStore.Id);
                }
            }

            if (_catalogSettings.CompareProductsEnabled)
            {
                model.CompareItems = _compareProductsService.Value.GetComparedProductsCount();
            }

            return(PartialView(model));
        }
Esempio n. 2
0
        public ActionResult ShopBar()
        {
            var customer     = _services.WorkContext.CurrentCustomer;
            var isAdmin      = customer.IsAdmin();
            var isRegistered = isAdmin || customer.IsRegistered();

            var model = new ShopBarModel
            {
                IsAuthenticated        = isRegistered,
                CustomerEmailUsername  = isRegistered ? (_customerSettings.UsernamesEnabled ? customer.Username : customer.Email) : "",
                IsCustomerImpersonated = _services.WorkContext.OriginalCustomerIfImpersonated != null,
                DisplayAdminLink       = _services.Permissions.Authorize(StandardPermissionProvider.AccessAdminPanel),
                ShoppingCartEnabled    = _services.Permissions.Authorize(StandardPermissionProvider.EnableShoppingCart) && _shoppingCartSettings.MiniShoppingCartEnabled,
                WishlistEnabled        = _services.Permissions.Authorize(StandardPermissionProvider.EnableWishlist),
                CompareProductsEnabled = _catalogSettings.CompareProductsEnabled
            };

            return(PartialView(model));
        }
Esempio n. 3
0
        public ActionResult ShopBar()
        {
            var customer     = Services.WorkContext.CurrentCustomer;
            var isAdmin      = customer.IsAdmin();
            var isRegistered = isAdmin || customer.IsRegistered();

            var model = new ShopBarModel
            {
                IsAuthenticated              = isRegistered,
                CustomerEmailUsername        = isRegistered ? (_customerSettings.CustomerLoginType != CustomerLoginType.Email ? customer.Username : customer.Email) : "",
                IsCustomerImpersonated       = Services.WorkContext.OriginalCustomerIfImpersonated != null,
                DisplayAdminLink             = Services.Permissions.Authorize(Permissions.System.AccessBackend),
                ShoppingCartEnabled          = Services.Permissions.Authorize(Permissions.Cart.AccessShoppingCart) && _shoppingCartSettings.MiniShoppingCartEnabled,
                WishlistEnabled              = Services.Permissions.Authorize(Permissions.Cart.AccessWishlist),
                CompareProductsEnabled       = _catalogSettings.CompareProductsEnabled,
                PublicStoreNavigationAllowed = Services.Permissions.Authorize(Permissions.System.AccessShop)
            };

            return(PartialView(model));
        }
        public async Task <IViewComponentResult> InvokeAsync()
        {
            var customer     = Services.WorkContext.CurrentCustomer;
            var isAdmin      = customer.IsAdmin();
            var isRegistered = isAdmin || customer.IsRegistered();

            var model = new ShopBarModel
            {
                IsAuthenticated              = isRegistered,
                CustomerEmailUsername        = isRegistered ? (_customerSettings.CustomerLoginType != CustomerLoginType.Email ? customer.Username : customer.Email) : string.Empty,
                IsCustomerImpersonated       = Services.WorkContext.CurrentImpersonator != null,
                DisplayAdminLink             = await Services.Permissions.AuthorizeAsync(Permissions.System.AccessBackend),
                ShoppingCartEnabled          = await Services.Permissions.AuthorizeAsync(Permissions.Cart.AccessShoppingCart) && _shoppingCartSettings.MiniShoppingCartEnabled,
                WishlistEnabled              = await Services.Permissions.AuthorizeAsync(Permissions.Cart.AccessWishlist),
                CompareProductsEnabled       = _catalogSettings.CompareProductsEnabled,
                PublicStoreNavigationAllowed = await Services.Permissions.AuthorizeAsync(Permissions.System.AccessShop)
            };

            return(View(model));
        }
Esempio n. 5
0
        public ActionResult ShopBar()
        {
            var customer = _services.WorkContext.CurrentCustomer;

            var unreadMessageCount = GetUnreadPrivateMessages();
            var unreadMessage      = string.Empty;
            var alertMessage       = string.Empty;

            if (unreadMessageCount > 0)
            {
                unreadMessage = T("PrivateMessages.TotalUnread");

                //notifications here
                if (_forumSettings.ShowAlertForPM &&
                    !customer.GetAttribute <bool>(SystemCustomerAttributeNames.NotifiedAboutNewPrivateMessages, _services.StoreContext.CurrentStore.Id))
                {
                    _genericAttributeService.SaveAttribute(customer, SystemCustomerAttributeNames.NotifiedAboutNewPrivateMessages, true, _services.StoreContext.CurrentStore.Id);
                    alertMessage = T("PrivateMessages.YouHaveUnreadPM", unreadMessageCount);
                }
            }

            //subtotal
            decimal subtotal = 0;
            var     cart     = _services.WorkContext.CurrentCustomer.GetCartItems(ShoppingCartType.ShoppingCart, _services.StoreContext.CurrentStore.Id);

            if (cart.Count > 0)
            {
                decimal  subtotalBase = decimal.Zero;
                decimal  orderSubTotalDiscountAmountBase = decimal.Zero;
                Discount orderSubTotalAppliedDiscount    = null;
                decimal  subTotalWithoutDiscountBase     = decimal.Zero;
                decimal  subTotalWithDiscountBase        = decimal.Zero;

                _orderTotalCalculationService.GetShoppingCartSubTotal(cart,
                                                                      out orderSubTotalDiscountAmountBase, out orderSubTotalAppliedDiscount, out subTotalWithoutDiscountBase, out subTotalWithDiscountBase);

                subtotalBase = subTotalWithoutDiscountBase;
                subtotal     = _currencyService.ConvertFromPrimaryStoreCurrency(subtotalBase, _services.WorkContext.WorkingCurrency);
            }
            var model = new ShopBarModel()
            {
                IsAuthenticated        = customer.IsRegistered(),
                CustomerEmailUsername  = customer.IsRegistered() ? (_customerSettings.UsernamesEnabled ? customer.Username : customer.Email) : "",
                IsCustomerImpersonated = _services.WorkContext.OriginalCustomerIfImpersonated != null,
                DisplayAdminLink       = _services.Permissions.Authorize(StandardPermissionProvider.AccessAdminPanel),
                ShoppingCartEnabled    = _services.Permissions.Authorize(StandardPermissionProvider.EnableShoppingCart),
                ShoppingCartAmount     = _priceFormatter.FormatPrice(subtotal, true, false),
                WishlistEnabled        = _services.Permissions.Authorize(StandardPermissionProvider.EnableWishlist),
                AllowPrivateMessages   = _forumSettings.AllowPrivateMessages,
                UnreadPrivateMessages  = unreadMessage,
                AlertMessage           = alertMessage,
                CompareProductsEnabled = _catalogSettings.CompareProductsEnabled
            };

            if (model.ShoppingCartEnabled || model.WishlistEnabled)
            {
                if (model.ShoppingCartEnabled)
                {
                    model.ShoppingCartItems = cart.GetTotalProducts();
                }

                if (model.WishlistEnabled)
                {
                    model.WishlistItems = customer.CountProductsInCart(ShoppingCartType.Wishlist, _services.StoreContext.CurrentStore.Id);
                }
            }

            if (_catalogSettings.CompareProductsEnabled)
            {
                model.CompareItems = EngineContext.Current.Resolve <ICompareProductsService>().GetComparedProductsCount();
            }

            return(PartialView(model));
        }