public async Task <ActionResult <ExtendedProductVM> > GetExtendedProduct(Guid id)
        {
            var product = await productService.GetById(id);

            var listProductColor = await productColorService.GetByProductId(id);

            var listProductSize = await productSizeService.GetByProductId(id);

            if (product == null)
            {
                return(NotFound());
            }
            else
            {
                IList <ProductColorVM> listProductColorVM = listProductColor
                                                            .Select(m => new ProductColorVM()
                {
                    Color = new ColorVM()
                    {
                        ColorId = m.ColorId, ColorValue = m.Color.ColorValue, Name = m.Color.Name
                    },
                    ImageUrl        = m.ImageUrl,
                    ListProductSize = listProductSize.Where(n => n.ColorId == m.ColorId)
                                      .Select(n => new ProductSizeVM()
                    {
                        InventoryQuantity = n.InventoryQuantity, Size = new SizeVM()
                        {
                            SizeId = n.SizeId, Name = n.Size.Name
                        }
                    }).ToList()
                }).ToList();
                ExtendedProductVM extendedProduct = new ExtendedProductVM
                {
                    ProductId   = id,
                    Code        = product.Code,
                    Name        = product.Name,
                    TypeProduct = new TypeProductVM()
                    {
                        TypeProductId = product.TypeProduct.TypeProductId, Name = product.TypeProduct.Name
                    },
                    Price       = product.Price,
                    Detail      = product.Detail,
                    Discount    = product.Discount,
                    CreatedDate = product.CreatedDate,
                    Brand       = new BrandVM()
                    {
                        BrandId = product.Brand.BrandId, Name = product.Brand.Name
                    },
                    Status = new StatusVM()
                    {
                        StatusId = product.Status.StatusId, Name = product.Status.Name
                    },
                    ListProductColor = listProductColorVM
                };
                return(extendedProduct);
            }
        }