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