public DeliveryReceipt(ICurrentMarket currentMarket, PurchaseOrderModel purchaseOrder)
        {
            if (purchaseOrder == null) throw new ArgumentNullException("purchaseOrder cannot be null");

            _purchaseOrder = purchaseOrder;
            _orderViewModel = new OrderViewModel(currentMarket.GetCurrentMarket().DefaultCurrency.Format, _purchaseOrder);

            To = _orderViewModel.Email;

            var localizationService = ServiceLocator.Current.GetInstance<LocalizationService>();
            IMarketService marketService = ServiceLocator.Current.GetInstance<IMarketService>();
            IMarket market = GetMarketForOrder(purchaseOrder, marketService, currentMarket);

            string emailSubject = localizationService.GetStringByCulture("/common/receipt/email/subject", market.DefaultLanguage);

            Subject = string.Format(emailSubject, _purchaseOrder.TrackingNumber);
            BackendOrderNumber = _orderViewModel.ErpOrderNumber;
            PurchaseOrderNumber = _purchaseOrder.TrackingNumber;

            // Get first shipment tracking number
            if (_purchaseOrder.OrderForms != null &&
                _purchaseOrder.OrderForms.Any() &&
                _purchaseOrder.OrderForms.First().Shipments != null &&
                _purchaseOrder.OrderForms.First().Shipments.Any())
            {
                TrackingNumber = _purchaseOrder.OrderForms.First().Shipments.First().ShipmentTrackingNumber;
            }
        }
        public Receipt(IMarket market, PurchaseOrderModel purchaseOrder)
        {
            if (market == null)
                throw new ArgumentNullException("market");

            if (purchaseOrder == null)
                throw new ArgumentNullException("purchaseOrder");

            _purchaseOrder = purchaseOrder;

            _orderViewModel = new OrderViewModel(market.DefaultCurrency.Format, purchaseOrder);

            To = _orderViewModel.Email;

            var localizationService = ServiceLocator.Current.GetInstance<LocalizationService>();

            Subject = string.Format(localizationService.GetString("/common/receipt/email/subject"), _purchaseOrder.TrackingNumber);
        }