public async Task AddShipmentTokens(LiquidObject liquidObject, Shipment shipment, Order order, Store store, Language language) { var liquidShipment = new LiquidShipment(shipment, order, store, language); var productService = _serviceProvider.GetRequiredService <IProductService>(); foreach (var shipmentItem in shipment.ShipmentItems) { var orderitem = order.OrderItems.FirstOrDefault(x => x.Id == shipmentItem.OrderItemId); var product = await productService.GetProductById(shipmentItem.ProductId); var liquidshipmentItems = new LiquidShipmentItem(shipmentItem, shipment, order, orderitem, product, language); liquidshipmentItems.ShowSkuOnProductDetailsPage = _catalogSettings.ShowSkuOnProductDetailsPage; string sku = ""; if (product != null) { sku = product.FormatSku(orderitem.AttributesXml, _productAttributeParser); } liquidshipmentItems.ProductSku = WebUtility.HtmlEncode(sku); liquidShipment.ShipmentItems.Add(liquidshipmentItems); } liquidObject.Shipment = liquidShipment; await _mediator.EntityTokensAdded(shipment, liquidShipment, liquidObject); }
public async Task <LiquidShipment> Handle(GetShipmentTokensCommand request, CancellationToken cancellationToken) { var liquidShipment = new LiquidShipment(request.Shipment, request.Order, request.Store, request.Language); foreach (var shipmentItem in request.Shipment.ShipmentItems) { var orderitem = request.Order.OrderItems.FirstOrDefault(x => x.Id == shipmentItem.OrderItemId); var product = await _productService.GetProductById(shipmentItem.ProductId); var liquidshipmentItems = new LiquidShipmentItem(shipmentItem, request.Shipment, request.Order, orderitem, product, request.Language); liquidShipment.ShipmentItems.Add(liquidshipmentItems); } return(liquidShipment); }
public async Task <LiquidShipment> Handle(GetShipmentTokensCommand request, CancellationToken cancellationToken) { var liquidShipment = new LiquidShipment(request.Shipment, request.Order, request.Store, request.Language); foreach (var shipmentItem in request.Shipment.ShipmentItems) { var orderitem = request.Order.OrderItems.FirstOrDefault(x => x.Id == shipmentItem.OrderItemId); var product = await _productService.GetProductById(shipmentItem.ProductId); var liquidshipmentItems = new LiquidShipmentItem(shipmentItem, request.Shipment, request.Order, orderitem, product, request.Language); string sku = ""; if (product != null) { sku = product.FormatSku(orderitem.AttributesXml, _productAttributeParser); } liquidshipmentItems.ProductSku = WebUtility.HtmlEncode(sku); liquidShipment.ShipmentItems.Add(liquidshipmentItems); } return(liquidShipment); }