public async Task <IActionResult> Edit(string id, [Bind("Id")] Cart cart) { if (id != cart.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(cart); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CartExists(cart.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(cart)); }
public async Task <IActionResult> PutCartItems(int id, CartItems cartItems) { if (id != cartItems.Id) { return(BadRequest()); } _context.Entry(cartItems).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CartItemsExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutCarts([FromRoute] int id, [FromBody] Carts carts) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != carts.Id) { return(BadRequest()); } _context.Entry(carts).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CartsExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <CartItem> > PostCartItem(CartItem item) {//201(Created) _context.CartItems.Add(item); await _context.SaveChangesAsync(); return(CreatedAtAction(nameof(GetCartItem), new { id = item.id }, item)); }
public async Task <IActionResult> Create([Bind("Id,Name,Code,PercentOff,StartDate,EndDate")] Promotion promotion) { if (ModelState.IsValid) { _context.Add(promotion); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(promotion)); }
public async Task <IActionResult> AddItemsToCart(int userId, [FromBody] int[] productIds) { if (userId <= 0) { return(BadRequest()); } var shoppingCart = await _cartContext.ShoppingCarts .Include(b => b.Items) .SingleOrDefaultAsync(ci => ci.UserId == userId); if (shoppingCart == null) { shoppingCart = new Models.ShoppingCart() { UserId = userId }; _cartContext.ShoppingCarts.Add(shoppingCart); var createCartResult = await _cartContext.SaveChangesAsync(); if (createCartResult > 0) { _eventStore.Raise("Создана корзина", shoppingCart); } } var shoppingCartItems = await _productCatalogueClient.GetShoppingCartItems(productIds).ConfigureAwait(false); if (shoppingCartItems.Count() > 0) { foreach (var item in shoppingCartItems) { var cartItem = _cartContext.ShoppingCartItems.FirstOrDefault(i => i.Id == item.Id); if (cartItem == null) { item.ShoppingCartId = shoppingCart.Id; _cartContext.ShoppingCartItems.Add(item); } } } var addItemResult = await _cartContext.SaveChangesAsync(); if (addItemResult > 0) { _eventStore.Raise("Добавлен товар", shoppingCart); } return(Ok(shoppingCart)); }
public async Task <IActionResult> Create([Bind("Id,EntryItemId,UserId,Quantity")] CartEntry cartEntry) { if (ModelState.IsValid) { _context.Add(cartEntry); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(cartEntry)); }
public async Task <IActionResult> Create([Bind("Id,Name")] Category category) { if (ModelState.IsValid) { _context.Add(category); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(category)); }
public async Task <IActionResult> Create([Bind("Id,Name,Description,Price,SalePrice,ImageLOC,InStore")] Item item) { if (ModelState.IsValid) { _context.Add(item); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(item)); }
public async Task <bool> DeleteCartAsync(string id) { var cart = await _context.Carts.SingleOrDefaultAsync(c => c.BuyerId == id); if (cart == null) { _logger.LogInformation($"Cart with id {id} doesn't exists."); return(false); } _context.Remove(cart); int result = await _context.SaveChangesAsync(); return(result > 0); }
public Task HandleMessage(ProductPriceChangedMessageEvent productPriceChanged) { return(Task.Run(async() => { var cartItemsAffected = CartContext.CartItems.Where(item => item.ProductId == productPriceChanged.ProductId); foreach (var cartItem in cartItemsAffected) { var oldPrice = cartItem.Price; if (productPriceChanged.Price != oldPrice) { cartItem.Price = productPriceChanged.Price; var cartParent = await CartContext.Carts.FirstOrDefaultAsync(cart => cart.Id == cartItem.CartId); // No user information, don't send email if (cartParent == null) { return; } //Send email about price change EventBus.Publish(new CartPriceChangedMessageEvent() { CartItemName = cartItem.ProductName, NewPrice = cartItem.Price, OldPrice = oldPrice, UserId = cartParent.UserId, CartId = cartParent.Id }); } } await CartContext.SaveChangesAsync(); })); }
public async Task AddItem(ShoppingCart shoppingCart, ShoppingCartItem newItem) { if (shoppingCart.Items.Any(i => i.ExternalId == newItem.ExternalId)) { var item = shoppingCart.Items.Single(i => i.ExternalId == newItem.ExternalId); item.ExternalSource = newItem.ExternalSource; item.Contents = newItem.Contents; item.UnitPrice = newItem.UnitPrice; item.Quantity += newItem.Quantity; _context.Entry(item).State = EntityState.Modified; await _context.SaveChangesAsync(); } else { shoppingCart.Items.Add(newItem); await _context.SaveChangesAsync(); } }
private async Task PersistData() { var result = await _context.SaveChangesAsync(); if (result <= 0) { AddProcessingError("Não foi possível persistir os dados!"); } }
public IActionResult UpdateAccount(int userid, string password, string billingAddress) { User user = _context.Users.SingleOrDefault(u => u.Id == userid); if (password != null) { byte[] data = System.Text.Encoding.ASCII.GetBytes(password); data = new System.Security.Cryptography.SHA256Managed().ComputeHash(data); user.Password = System.Text.Encoding.ASCII.GetString(data); } if (password != null) { user.BillingAddress = billingAddress; } _context.Update(user); _context.SaveChangesAsync(); return(View("EditSuccess")); }
public async Task Consume(ConsumeContext <OrderPlacedEvent> context) { var cart = _cartContext.Carts.FirstOrDefault(x => x.Id == context.Message.SourceCartId); if (cart == null) { throw new Exception($"Could not find cart with id {context.Message.SourceCartId}"); } _cartContext.Carts.Remove(cart); await _cartContext.SaveChangesAsync(); }
// POST: Carts/Create // To protect from overposting attacks, enable the specific properties you want to bind to, for // more details, see http://go.microsoft.com/fwlink/?LinkId=317598. public async Task <IActionResult> Create(string GoodId) { var user = await userManager.GetUserAsync(User); // var gd = _Goodcontext.Goods.Where(u => u.Good.Id.Equals(GoodId)); Item good = _itemcontext.Item.Find(GoodId); List <Cart> allcarts = _context.Cart.ToList(); foreach (var t in allcarts) { if (t.ItemId == GoodId && t.UserId == user.Id) { return(NotFound("An item is already in your cart !!!")); } } Console.WriteLine(good); Cart cart = new Cart(); //var user = userManager.GetUserAsync(User).Result; var varUser = _context7.Users.Where(u => u.Email.Equals(User.Identity.Name)); //var user = varUser.FirstOrDefault(); //var user = User.Identity.; // var good = _goodsRepository.AllGoods.FirstOrDefault(p => p.Id == id); if (ModelState.IsValid) { // cart.Good = good; cart.Id = good.Id + "CART" + user.Id; cart.ItemId = good.Id; cart.UserId = user.Id; _context.Add(cart); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(RedirectToAction("Index", cart)); }
public async Task <Unit> Handle(Execute request, CancellationToken cancellationToken) { var _cart = new Models.CartSession() { CreatedAt = request.CreatedAt.Value }; _cartContext.CartSession.Add(_cart); int txId = await _cartContext.SaveChangesAsync(); if (txId == 0) { throw new Exception("Error al crear Cart"); } int cartId = _cart.CartSessionId; foreach (var item in request.ProductList) { var detalle = new Models.CartDetail() { CartSessionId = cartId, CreatedAt = DateTime.Now, ProductId = item }; _cartContext.CartDetail.Add(detalle); } int transId = await _cartContext.SaveChangesAsync(); if (transId == 0) { throw new Exception("Error guardando detalles"); } return(Unit.Value); }
public async Task <Unit> Handle(Execute request, CancellationToken cancellationToken) { var sesionCart = new SessionCart { CreationDate = request.CreationDate, }; _context.SessionCart.Add(sesionCart); var value = await _context.SaveChangesAsync(); if (value == 0) { throw new Exception("la sesion del carrito no se pudo insertar"); } int id = sesionCart.SesionCartId; foreach (var obj in request.ListProduct) { var detailSesion = new SessionCartDetail { CreationDate = DateTime.Now, SesionCartId = id, SelectedProduct = obj, }; _context.SessionCartDetail.Add(detailSesion); } value = await _context.SaveChangesAsync(); if (value > 0) { return(Unit.Value); } throw new Exception("No se pudo insetar el detalle del carrito compras"); }
public async Task Consume(ConsumeContext <ProductUpdatedEvent> context) { var product = _cartContext.Products.FirstOrDefault(x => x.Id == context.Message.ProductDetails.Id); if (product == null) // no product to update { return; } if (context.Message.ProductDetails.IsActive && !context.Message.ProductDetails.IsDeleted) { product.Name = context.Message.ProductDetails.Name; product.Price = context.Message.ProductDetails.Price; } else { _cartContext.Products.Remove(product); } await _cartContext.SaveChangesAsync(); }
public Task Save() { return(_appDbContext.SaveChangesAsync()); }