コード例 #1
0
        public ManufacturerDto PrepareManufacturerDto(Manufacturer manufacturer)
        {
            var manufacturerDto = manufacturer.ToDto();

            var picture  = _pictureService.GetPictureById(manufacturer.PictureId);
            var imageDto = PrepareImageDto(picture);

            if (imageDto != null)
            {
                manufacturerDto.Image = imageDto;
            }

            manufacturerDto.SeName      = _urlRecordService.GetSeName(manufacturer);
            manufacturerDto.DiscountIds = manufacturer.AppliedDiscounts.Select(discount => discount.Id).ToList();
            manufacturerDto.RoleIds     = _aclService.GetAclRecords(manufacturer).Select(acl => acl.CustomerRoleId).ToList();
            manufacturerDto.StoreIds    = _storeMappingService.GetStoreMappings(manufacturer).Select(mapping => mapping.StoreId)
                                          .ToList();

            var allLanguages = _languageService.GetAllLanguages();

            manufacturerDto.LocalizedNames = new List <LocalizedNameDto>();

            foreach (var language in allLanguages)
            {
                var localizedNameDto = new LocalizedNameDto
                {
                    LanguageId    = language.Id,
                    LocalizedName = _localizationService.GetLocalized(manufacturer, x => x.Name, language.Id)
                };

                manufacturerDto.LocalizedNames.Add(localizedNameDto);
            }

            return(manufacturerDto);
        }
コード例 #2
0
        public CategoryDto PrepareCategoryDTO(Category category)
        {
            CategoryDto categoryDto = category.ToDto();

            Picture  picture  = _pictureService.GetPictureById(category.PictureId);
            ImageDto imageDto = PrepareImageDto(picture);

            if (imageDto != null)
            {
                categoryDto.Image = imageDto;
            }

            categoryDto.SeName = _urlRecordService.GetSeName(category);
            //categoryDto.DiscountIds = category.AppliedDiscounts.Select(discount => discount.Id).ToList();
            categoryDto.RoleIds  = _aclService.GetAclRecords(category).Select(acl => acl.CustomerRoleId).ToList();
            categoryDto.StoreIds = _storeMappingService.GetStoreMappings(category).Select(mapping => mapping.StoreId).ToList();

            IList <Language> allLanguages = _languageService.GetAllLanguages();

            categoryDto.LocalizedNames = new List <LocalizedNameDto>();

            foreach (var language in allLanguages)
            {
                var localizedNameDto = new LocalizedNameDto
                {
                    LanguageId    = language.Id,
                    LocalizedName = _localizationService.GetLocalized(category, x => x.Name, language.Id)
                };

                categoryDto.LocalizedNames.Add(localizedNameDto);
            }

            return(categoryDto);
        }
コード例 #3
0
        public ProductDto PrepareProductDTO(Product product)
        {
            var productDto = product.ToDto();

            var productPictures = _productService.GetProductPicturesByProductId(product.Id);

            PrepareProductImages(productPictures, productDto);

            var x =
                productDto.SeName = _urlRecordService.GetSeName(product);

            productDto.DiscountIds     = _discountService.GetAppliedDiscounts(product).Select(discount => discount.Id).ToList();
            productDto.ManufacturerIds = _manufacturerService.GetProductManufacturersByProductId(product.Id).Select(pm => pm.Id).ToList();
            productDto.RoleIds         = _aclService.GetAclRecords(product).Select(acl => acl.CustomerRoleId).ToList();
            productDto.StoreIds        = _storeMappingService.GetStoreMappings(product).Select(mapping => mapping.StoreId)
                                         .ToList();
            productDto.Tags = _productTagService.GetAllProductTagsByProductId(product.Id).Select(tag => tag.Name)
                              .ToList();

            productDto.AssociatedProductIds = GetRelatedProductIdsByProductId(product.Id);

            // load product attributes
            var productAttributeMappings = _productAttributeService
                                           .GetProductAttributeMappingsByProductId(product.Id);

            PrepareProductAttributes(productAttributeMappings, productDto);


            // load product specification attributes
            var productSpecificationAttributeMappings = _specificationAttributeService
                                                        .GetProductSpecificationAttributes(productId: product.Id);

            PrepareProductSpecificationAttributes(productSpecificationAttributeMappings, productDto);

            var allLanguages = _languageService.GetAllLanguages();

            productDto.LocalizedNames = new List <LocalizedNameDto>();

            foreach (var language in allLanguages)
            {
                var localizedNameDto = new LocalizedNameDto
                {
                    LanguageId    = language.Id,
                    LocalizedName = _localizationService.GetLocalized(product, x => x.Name, language.Id)
                };

                productDto.LocalizedNames.Add(localizedNameDto);
            }

            return(productDto);
        }
コード例 #4
0
        public ProductDto PrepareProductDTO(Product product)
        {
            var productDto = product.ToDto();

            PrepareProductImages(product.ProductPictures, productDto);
            PrepareProductAttributes(product.ProductAttributeMappings, productDto);
            PrepareProductSpecificationAttributes(product.ProductSpecificationAttributes, productDto);

            productDto.SeName          = _urlRecordService.GetSeName(product);
            productDto.DiscountIds     = product.AppliedDiscounts.Select(discount => discount.Id).ToList();
            productDto.ManufacturerIds = product.ProductManufacturers.Select(pm => pm.ManufacturerId).ToList();
            productDto.RoleIds         = _aclService.GetAclRecords(product).Select(acl => acl.CustomerRoleId).ToList();
            productDto.StoreIds        = _storeMappingService.GetStoreMappings(product).Select(mapping => mapping.StoreId)
                                         .ToList();
            productDto.Tags = _productTagService.GetAllProductTagsByProductId(product.Id).Select(tag => tag.Name)
                              .ToList();

            productDto.AssociatedProductIds =
                _productService.GetAssociatedProducts(product.Id, showHidden: true)
                .Select(associatedProduct => associatedProduct.Id)
                .ToList();

            var allLanguages = _languageService.GetAllLanguages();

            productDto.LocalizedNames = new List <LocalizedNameDto>();

            foreach (var language in allLanguages)
            {
                var localizedNameDto = new LocalizedNameDto
                {
                    LanguageId    = language.Id,
                    LocalizedName = _localizationService.GetLocalized(product, x => x.Name, language.Id)
                };

                productDto.LocalizedNames.Add(localizedNameDto);
            }

            /*EXTRA*/
            PrepareProductAttributeCombinations(product.ProductAttributeCombinations, productDto);
            PrepareProductTierPrices(product.TierPrices, productDto);
            PrepareProductGenericAttributes(product, productDto);
            /*EXTRA*/

            return(productDto);
        }
コード例 #5
0
        public async Task <CategoryDto> PrepareCategoryDTOAsync(Category category)
        {
            var categoryDto = category.ToDto();

            var picture = await _pictureService.GetPictureByIdAsync(category.PictureId);

            var imageDto = await PrepareImageDtoAsync(picture);

            if (imageDto != null)
            {
                categoryDto.Image = imageDto;
            }

            categoryDto.SeName = await _urlRecordService.GetSeNameAsync(category);

            categoryDto.DiscountIds = (await _discountService.GetAppliedDiscountsAsync(category)).Select(discount => discount.Id).ToList();
            categoryDto.RoleIds     = (await _aclService.GetAclRecordsAsync(category)).Select(acl => acl.CustomerRoleId).ToList();
            categoryDto.StoreIds    = (await _storeMappingService.GetStoreMappingsAsync(category)).Select(mapping => mapping.StoreId)
                                      .ToList();

            var allLanguages = await _languageService.GetAllLanguagesAsync();

            categoryDto.LocalizedNames = new List <LocalizedNameDto>();

            foreach (var language in allLanguages)
            {
                var localizedNameDto = new LocalizedNameDto
                {
                    LanguageId    = language.Id,
                    LocalizedName = await _localizationService.GetLocalizedAsync(category, x => x.Name, language.Id)
                };

                categoryDto.LocalizedNames.Add(localizedNameDto);
            }

            return(categoryDto);
        }
コード例 #6
0
        public async Task <ProductDto> PrepareProductDTOAsync(Product product)
        {
            var productDto      = product.ToDto();
            var productPictures = await _productService.GetProductPicturesByProductIdAsync(product.Id);

            await PrepareProductImagesAsync(productPictures, productDto);

            productDto.SeName = await _urlRecordService.GetSeNameAsync(product);

            productDto.DiscountIds     = (await _discountService.GetAppliedDiscountsAsync(product)).Select(discount => discount.Id).ToList();
            productDto.ManufacturerIds = (await _manufacturerService.GetProductManufacturersByProductIdAsync(product.Id)).Select(pm => pm.Id).ToList();
            productDto.RoleIds         = (await _aclService.GetAclRecordsAsync(product)).Select(acl => acl.CustomerRoleId).ToList();
            productDto.StoreIds        = (await _storeMappingService.GetStoreMappingsAsync(product)).Select(mapping => mapping.StoreId).ToList();
            productDto.Tags            = (await _productTagService.GetAllProductTagsByProductIdAsync(product.Id)).Select(tag => tag.Name).ToList();

            productDto.AssociatedProductIds = (await _productService.GetAssociatedProductsAsync(product.Id, showHidden: true))
                                              .Select(associatedProduct => associatedProduct.Id)
                                              .ToList();

            var allLanguages = await _languageService.GetAllLanguagesAsync();

            productDto.LocalizedNames = new List <LocalizedNameDto>();

            foreach (var language in allLanguages)
            {
                var localizedNameDto = new LocalizedNameDto
                {
                    LanguageId    = language.Id,
                    LocalizedName = await _localizationService.GetLocalizedAsync(product, x => x.Name, language.Id)
                };

                productDto.LocalizedNames.Add(localizedNameDto);
            }

            return(productDto);
        }
コード例 #7
0
        public ProductDto PrepareProductDTO(Product product)
        {
            ProductDto productDto = product.ToDto();

            PrepareProductImages(product.ProductPictures, productDto);
            PrepareProductAttributes(product.ProductAttributeMappings, productDto);

            productDto.SeName          = product.GetSeName();
            productDto.DiscountIds     = product.AppliedDiscounts.Select(discount => discount.Id).ToList();
            productDto.ManufacturerIds = product.ProductManufacturers.Select(pm => pm.ManufacturerId).ToList();
            productDto.RoleIds         = _aclService.GetAclRecords(product).Select(acl => acl.CustomerRoleId).ToList();
            productDto.StoreIds        = _storeMappingService.GetStoreMappings(product).Select(mapping => mapping.StoreId).ToList();
            productDto.Tags            = product.ProductTags.Select(tag => tag.Name).ToList();

            productDto.AssociatedProductIds =
                _productService.GetAssociatedProducts(product.Id, showHidden: true)
                .Select(associatedProduct => associatedProduct.Id)
                .ToList();

            IList <Language> allLanguages = _languageService.GetAllLanguages();

            productDto.LocalizedNames = new List <LocalizedNameDto>();

            foreach (var language in allLanguages)
            {
                var localizedNameDto = new LocalizedNameDto
                {
                    LanguageId    = language.Id,
                    LocalizedName = product.GetLocalized(x => x.Name, language.Id)
                };

                productDto.LocalizedNames.Add(localizedNameDto);
            }

            return(productDto);
        }