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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        /// <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);
        }