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); }
public ProductDto() { ProductAttributeResultDtos = new ProductAttributeResultDto[] { }; SkuItemDtos = new SkuItemDto[] { }; }