public virtual CustomerDownloadableProductsModel PrepareCustomerDownloadableProductsModel() { var model = new CustomerDownloadableProductsModel(); var items = _orderService.GetDownloadableOrderItems(_workContext.CurrentCustomer.Id); foreach (var item in items) { var itemModel = new CustomerDownloadableProductsModel.DownloadableProductsModel { OrderItemGuid = item.OrderItemGuid, OrderId = item.OrderId, CreatedOn = _dateTimeHelper.ConvertToUserTime(item.Order.CreatedOnUtc, DateTimeKind.Utc), ProductName = item.Product.GetLocalized(x => x.Name), ProductSeName = item.Product.GetSeName(), ProductAttributes = item.AttributeDescription, ProductId = item.ProductId }; model.Items.Add(itemModel); if (_downloadService.IsDownloadAllowed(item)) { itemModel.DownloadId = item.Product.DownloadId; } if (_downloadService.IsLicenseDownloadAllowed(item)) { itemModel.LicenseId = item.LicenseDownloadId.HasValue ? item.LicenseDownloadId.Value : 0; } } return(model); }
public virtual async Task <CustomerDownloadableProductsModel> PrepareDownloadableProducts(string customerId) { var model = new CustomerDownloadableProductsModel(); var items = await _orderService.GetAllOrderItems(null, customerId, null, null, null, null, null, true); var productService = _serviceProvider.GetRequiredService <IProductService>(); foreach (var item in items) { var order = await _orderService.GetOrderByOrderItemId(item.Id); var product = await productService.GetProductByIdIncludeArch(item.ProductId); var itemModel = new CustomerDownloadableProductsModel.DownloadableProductsModel { OrderItemGuid = item.OrderItemGuid, OrderId = order.Id, OrderNumber = order.OrderNumber, CreatedOn = _dateTimeHelper.ConvertToUserTime(item.CreatedOnUtc, DateTimeKind.Utc), ProductName = product.GetLocalized(x => x.Name, _workContext.WorkingLanguage.Id), ProductSeName = product.GetSeName(_workContext.WorkingLanguage.Id), ProductAttributes = item.AttributeDescription, ProductId = item.ProductId }; model.Items.Add(itemModel); if (await _downloadService.IsDownloadAllowed(item)) { itemModel.DownloadId = product.DownloadId; } if (await _downloadService.IsLicenseDownloadAllowed(item)) { itemModel.LicenseId = !String.IsNullOrEmpty(item.LicenseDownloadId) ? item.LicenseDownloadId : ""; } } return(model); }
/// <summary> /// Prepare the customer downloadable products model /// </summary> /// <returns>Customer downloadable products model</returns> public virtual CustomerDownloadableProductsModel PrepareCustomerDownloadableProductsModel() { var model = new CustomerDownloadableProductsModel(); var items = _orderService.GetDownloadableOrderItems(_workContext.CurrentCustomer.Id); foreach (var item in items) { var order = _orderService.GetOrderById(item.OrderId); var product = _productService.GetProductById(item.ProductId); var itemModel = new CustomerDownloadableProductsModel.DownloadableProductsModel { OrderItemGuid = item.OrderItemGuid, OrderId = order.Id, CustomOrderNumber = order.CustomOrderNumber, CreatedOn = _dateTimeHelper.ConvertToUserTime(order.CreatedOnUtc, DateTimeKind.Utc), ProductName = _localizationService.GetLocalized(product, x => x.Name), ProductSeName = _urlRecordService.GetSeName(product), ProductAttributes = item.AttributeDescription, ProductId = item.ProductId }; model.Items.Add(itemModel); if (_downloadService.IsDownloadAllowed(item)) { itemModel.DownloadId = product.DownloadId; } if (_downloadService.IsLicenseDownloadAllowed(item)) { itemModel.LicenseId = item.LicenseDownloadId ?? 0; } } return(model); }
public virtual CustomerDownloadableProductsModel PrepareDownloadableProducts(string customerId) { var model = new CustomerDownloadableProductsModel(); var items = _orderService.GetAllOrderItems(null, customerId, null, null, null, null, null, true); var productService = EngineContext.Current.Resolve <IProductService>(); foreach (var item in items) { var order = _orderService.GetOrderByOrderItemId(item.Id); var product = productService.GetProductByIdIncludeArch(item.ProductId); var itemModel = new CustomerDownloadableProductsModel.DownloadableProductsModel { OrderItemGuid = item.OrderItemGuid, OrderId = order.Id, OrderNumber = order.OrderNumber, CreatedOn = _dateTimeHelper.ConvertToUserTime(item.CreatedOnUtc, DateTimeKind.Utc), ProductName = product.GetLocalized(x => x.Name), ProductSeName = product.GetSeName(), ProductAttributes = item.AttributeDescription, ProductId = item.ProductId }; model.Items.Add(itemModel); if (_downloadService.IsDownloadAllowed(item)) { itemModel.DownloadId = product.DownloadId; } if (_downloadService.IsLicenseDownloadAllowed(item)) { itemModel.LicenseId = !String.IsNullOrEmpty(item.LicenseDownloadId) ? item.LicenseDownloadId : ""; } } return(model); }