private void Apply(ProductAddedToCart evt) { if (!products.ContainsKey(evt.ProductId)) { products.Add(evt.ProductId, evt.Quantity); } else { products[evt.ProductId] += evt.Quantity; } }
public ActionResult Show(ProductAddedToCart page, ProductVariant productVariant, int quantity = 1) { if (productVariant == null || productVariant.Id == 0) { return(_productAddedToCartUIService.RedirectToCart()); } ViewData["productvariant"] = productVariant; ViewData["quantity"] = quantity; ViewData["cart"] = _productAddedToCartUIService.Cart; return(View(page)); }
public async Task HandleAsync(ProductAddedToCart @event) { await ExecuteSaveAsync(@event.AggregateId, cart => { var cartItems = cart.Items.ToList(); var cartItem = new ShoppingCartItemReadModel(@event.ProductId, @event.Price); cartItems.Add(cartItem); return(new ShoppingCartReadModel(cart, cartItems)); }); }
public async Task Handle(ProductAddedToCart message, IMessageHandlerContext context) { Data.LastTouched = DateTime.Now; await RequestTimeout(context, Data.LastTouched.AddSeconds(30), new CartGettingStaleTimeout() { LastTouched = Data.LastTouched }); await RequestTimeout(context, Data.LastTouched.AddSeconds(60), new CartWipeTimeout() { LastTouched = Data.LastTouched }); }
private void Apply(ProductAddedToCart evt) { var item = Enumerable.SingleOrDefault(_shoppingCartItems, sci => sci.ProductId == evt.ProductId); if (item == null) { _shoppingCartItems.Add( new ShoppingCartItem(evt.ProductId, evt.Price, 1)); } else { item.AddItems(1); } }
private void Handle(ProductAddedToCart evt) { var cart = db.GetCartById(evt.CartId); var product = cart.Items.FirstOrDefault(x => x.ProductId == evt.ProductId); if (product != null) { product.Price = evt.Price; } else { cart.Items.Add(new ShoppingCartItemReadModel { Price = evt.Price, ProductId = evt.ProductId }); } db.SaveCart(cart); }
/// <summary> /// Method used to store user selected items in session /// </summary> /// <param name="selectedItem"></param> /// <returns></returns> public JsonResult ToggleCartSelection(ProductAddedToCart selectedItem) { var itemsInCart = _session.Get <CartProducts>(SessionKey.CART_ITEMS); if (itemsInCart == null) { itemsInCart = new CartProducts() { CartItems = new List <ProductAddedToCart>() }; } if (itemsInCart.CartItems.Any(x => x.ProductId == selectedItem.ProductId)) { itemsInCart.CartItems.RemoveAll(x => x.ProductId == selectedItem.ProductId); } else { itemsInCart.CartItems.Add(selectedItem); } _session.Set <CartProducts>(SessionKey.CART_ITEMS, itemsInCart); return(Json(itemsInCart)); }
private void Apply(ProductAddedToCart evt) { products.Add(evt.ProductId, evt.Price); }
private void OnProductAdded(EventArgs e) { ProductAddedToCart?.Invoke(this, e); }
public PageModel Setup(MediaModel mediaModel) { var pageModel = new PageModel(); var productSearch = new ProductSearch { Name = "Categories", UrlSegment = "categories", RevealInNavigation = true }; var categoryContainer = new ProductContainer { Name = "Products", UrlSegment = "products", RevealInNavigation = false }; _webpageAdminService.Add(productSearch); _webpageAdminService.PublishNow(productSearch); _webpageAdminService.Add(categoryContainer); _webpageAdminService.PublishNow(categoryContainer); pageModel.ProductSearch = productSearch; var now = DateTime.UtcNow; var yourBasket = new Cart { Name = "Your Basket", UrlSegment = "basket", RevealInNavigation = false, PublishOn = now }; _webpageAdminService.Add(yourBasket); var enterOrderEmail = new EnterOrderEmail { Name = "Enter Order Email", UrlSegment = "enter-order-email", RevealInNavigation = false, Parent = yourBasket, DisplayOrder = 0, PublishOn = now, }; _webpageAdminService.Add(enterOrderEmail); var setPaymentDetails = new PaymentDetails { Name = "Set Payment Details", UrlSegment = "set-payment-details", RevealInNavigation = false, Parent = yourBasket, DisplayOrder = 1, PublishOn = now, }; _webpageAdminService.Add(setPaymentDetails); var setDeliveryDetails = new SetShippingDetails { Name = "Set Shipping Details", UrlSegment = "set-shipping-details", RevealInNavigation = false, Parent = yourBasket, DisplayOrder = 2, PublishOn = now, }; _webpageAdminService.Add(setDeliveryDetails); var orderPlaced = new OrderPlaced { Name = "Order Placed", UrlSegment = "order-placed", RevealInNavigation = false, Parent = yourBasket, DisplayOrder = 3, PublishOn = now, }; _webpageAdminService.Add(orderPlaced); // User Account var userAccount = new SitemapPlaceholder { Name = "User Account", UrlSegment = "user-account", RevealInNavigation = false, PublishOn = now }; _webpageAdminService.Add(userAccount); var userAccountInfo = new UserAccountInfo { Name = "Account Details", UrlSegment = "user-account-details", RevealInNavigation = false, PublishOn = now, Parent = userAccount }; _webpageAdminService.Add(userAccountInfo); var userAccountPassword = new UserAccountChangePassword { Name = "Change Password", UrlSegment = "user-account-change-password", RevealInNavigation = false, PublishOn = now, Parent = userAccount }; _webpageAdminService.Add(userAccountPassword); var userAccountAddresses = new UserAccountAddresses { Name = "Account Addresses", UrlSegment = "user-account-addresses", RevealInNavigation = false, PublishOn = now, Parent = userAccount }; _webpageAdminService.Add(userAccountAddresses); var editAddress = new UserAccountEditAddress { Name = "Edit Address", UrlSegment = userAccountAddresses.UrlSegment + "/edit-address", RevealInNavigation = false, PublishOn = now, Parent = userAccountAddresses }; _webpageAdminService.Add(editAddress); var userAccountOrders = new UserAccountOrders { Name = "Orders", UrlSegment = "user-account-orders", RevealInNavigation = false, PublishOn = now, Parent = userAccount }; _webpageAdminService.Add(userAccountOrders); var userOrder = new UserOrder { Name = "View Order", UrlSegment = "user-account-orders/order", RevealInNavigation = false, PublishOn = now, Parent = userAccountOrders }; _webpageAdminService.Add(userOrder); var userAccountReviews = new UserAccountReviews { Name = "Reviews", UrlSegment = "user-account-reviews", RevealInNavigation = false, PublishOn = now, Parent = userAccount }; _webpageAdminService.Add(userAccountReviews); var userAccountRewards = new UserAccountRewardPoints { Name = "Reward Points", UrlSegment = "user-account-reward-points", RevealInNavigation = false, PublishOn = now, Parent = userAccount }; _webpageAdminService.Add(userAccountRewards); // End User Account //Added to cart var addedToCart = new ProductAddedToCart { Name = "Added to Basket", UrlSegment = "add-to-basket", RevealInNavigation = false, PublishOn = now }; _webpageAdminService.Add(addedToCart); pageModel.ProductAddedToCart = addedToCart; var wishlist = new ShowWishlist { Name = "Wishlist", UrlSegment = "wishlist", RevealInNavigation = true, PublishOn = now }; _webpageAdminService.Add(wishlist); var newIn = new NewInProducts { Name = "New In", UrlSegment = "new-in", RevealInNavigation = true, PublishOn = now }; _webpageAdminService.Add(newIn); var about = new TextPage() { Name = "About us", UrlSegment = "about-us", RevealInNavigation = true, PublishOn = now, BodyContent = EcommerceInstallInfo.AboutUsText }; _webpageAdminService.Add(about); //update core pages var homePage = _getByUrl.GetByUrl("home"); if (homePage != null) { homePage.BodyContent = EcommerceInstallInfo.HomeCopy; var templates = _pageTemplateAdminService.Search(new PageTemplateSearchQuery()); var homeTemplate = templates.FirstOrDefault(x => x.Name == "Home Page"); if (homeTemplate != null) { homePage.PageTemplate = homeTemplate; } homePage.SubmitButtonText = "Sign up"; _webpageAdminService.Update(homePage); pageModel.HomePage = homePage; } var page2 = _getByUrl.GetByUrl("page-2"); if (page2 != null)//demopage in core not needed { _webpageAdminService.Delete(page2); } var contactus = _getByUrl.GetByUrl("contact-us"); if (contactus != null)//demopage in core not needed { _webpageAdminService.Delete(contactus); } //Added to cart var contactUs = new ContactUs() { Name = "Contact Us", UrlSegment = "contact-us", RevealInNavigation = true, PublishOn = now, Latitude = 55.01021m, Longitude = -1.44998m, Address = EcommerceInstallInfo.Address, PinImage = mediaModel.Logo.FileUrl, BodyContent = "[form]", FormDesign = EcommerceInstallInfo.ContactFormDesign }; _webpageAdminService.Add(contactUs); GetFormProperties(contactUs); var brandListing = new BrandListing { Name = "Brands", UrlSegment = "brands", RevealInNavigation = true, PublishOn = now, BodyContent = "" }; _webpageAdminService.Add(brandListing); return(pageModel); }
public void AddProduct(Guid productId, int quantity) { var ev = new ProductAddedToCart(AggregateId, productId, quantity); AddEvent(ev); }
public void Handle(ProductAddedToCart evt) { var product = productPrices[evt.ProductId]; Model.ProductAddedToCart(evt.CartId, evt.ProductId, product.Price, product.Description, evt.Quantity, evt.Timestamp); }
/// <summary> /// IT is called inside carts (e.g. flyout cart and its attributes) /// </summary> /// <param name="sender">Component which has called the event</param> public void OnProductAddedToCart(IComponent sender, ProductAddedToCartEventArgs args) { ProductAddedToCart?.Invoke(sender, args); }
protected void OnProductAddedToCart(ProductAddedToCart productAddedToCart) { _products.Add(productAddedToCart.ProductId); }