public IHttpActionResult Reorder(ReorderRequestViewModel model) { if (model?.OrderId != null && model.OrderId != Guid.Empty) { var order = _moduleECommerce.Orders.GetOrder(model.OrderId, Solution.Instance.SystemToken); foreach (var orderRow in order.OrderRows) { var languageSystemId = _routeRequestLookupInfoAccessor.RouteRequestLookupInfo.Channel.WebsiteLanguageSystemId ?? Guid.Empty; Cart.Add(orderRow.ArticleNumber, orderRow.Quantity, string.Empty, languageSystemId); } } return(Ok(_cartViewModelBuilder.Build(Cart))); }
public async Task <IActionResult> Reorder(ReorderRequestViewModel model) { var order = _orderService.Get <SalesOrder>(model.OrderId); if (order == null || order.Rows.Count == 0) { ModelState.AddModelError("general", "cart.reorder.orderinvalid".AsWebsiteText()); return(BadRequest(ModelState)); } var cartContext = HttpContext.GetCartContext(); foreach (var orderRow in order.Rows.Where(x => x.OrderRowType == OrderRowType.Product)) { await cartContext.AddOrUpdateItemAsync(new AddOrUpdateCartItemArgs() { ArticleNumber = orderRow.ArticleNumber, Quantity = orderRow.Quantity, }); } return(Ok(_cartViewModelBuilder.Build(cartContext))); }