public override async Task <ProductDto> GetAsync(Guid id)
        {
            var product = await base.GetAsync(id);

            var productAttributeValues = _productAttributeValueRepository
                                         .WithDetails(x => x.ProductAttribute)
                                         .Where(x => x.ProductId == id)
                                         .ToList();
            List <ProductAttributeResultDto> productAttributeResultDtos = new List <ProductAttributeResultDto>();

            foreach (var item in productAttributeValues)
            {
                ProductAttributeResultDto productAttributeResultDto = new ProductAttributeResultDto();
                productAttributeResultDto.Id   = item.Id;
                productAttributeResultDto.Name = item.ProductAttribute.Name;
                productAttributeResultDto.Item = item.Value.Split(',');
                productAttributeResultDtos.AddIfNotContains(productAttributeResultDto);
            }
            product.ProductAttributeResultDtos = productAttributeResultDtos.ToArray();

            var skus = _skuRepository.Where(x => x.ProductId == id).ToList();
            List <SkuItemDto> skuItemDtos = new List <SkuItemDto>();


            foreach (var item in skus)
            {
                SkuItemDto skuItemDto = new SkuItemDto();
                skuItemDto.Code  = item.SkuCode;
                skuItemDto.Price = item.Price;
                skuItemDto.Stock = item.Stock;
                skuItemDto.Sku   = item.SPData;
                skuItemDtos.AddIfNotContains(skuItemDto);
            }
            product.SkuItemDtos = skuItemDtos.ToArray();

            return(product);
        }
Beispiel #2
0
        public ProductDto()
        {
            ProductAttributeResultDtos = new ProductAttributeResultDto[] { };

            SkuItemDtos = new SkuItemDto[] { };
        }