public ActionResult RemoveFromCart(RemoveFromCartDto postModel) { try { using (var uow = _uowProvider.Create()) { var store = CurrentPage.GetStore(); var order = _sessionManager.GetOrCreateCurrentOrder(store.Id) .AsWritable(uow) .RemoveOrderLine(postModel.OrderLineId); _orderService.SaveOrder(order); uow.Complete(); } } catch (ValidationException ex) { ModelState.AddModelError("productReference", "Failed to remove cart item"); return(CurrentUmbracoPage()); } return(RedirectToCurrentUmbracoPage()); }
public async Task RemoveFromCartAsync(int orderId, RemoveFromCartDto model) { var orderItems = await GetOrderItems(orderId); if (orderItems.Count > 0) { var removedItems = orderItems .Join(model.Ids, i => i.ProductId, id => id, (i, im) => i) .ToList(); if (removedItems.Count > 0) { _context.RemoveRange(removedItems); await _context.SaveChangesAsync(); } } }
public IHttpActionResult RemoveFromCart(string cartItemId, string userId) { try { int bookId = 0; if (int.TryParse(cartItemId, out bookId)) { var items = _itemRepository.All.Where(x => x.BookID == bookId).Select(x => x.Id).ToList(); var itemsIntersection = items.Intersect(_shoppingCartRepository.All.Select(x => x.ItemId)); foreach (var item in itemsIntersection) { var cartItem = _shoppingCartRepository.All .Single(p => p.ItemId == item); _shoppingCartRepository.Delete(cartItem); } _unitOfWork.Commit(); var removeFromCartDto = new RemoveFromCartDto { Message = "The item has been removed successfully", DeleteId = Convert.ToInt32(cartItemId), CartTotal = 15, ItemCount = GetCartTotalItems(userId) }; } else { return(BadRequest()); } } catch (Exception ex) { return(BadRequest()); } return(Ok()); }
public async Task <ActionResult> RemoveFromCart([FromRoute] int id, [FromBody] RemoveFromCartDto model) { await _orderService.RemoveFromCartAsync(id, model); return(NoContent()); }