public async Task <IActionResult> UpdateProduct( [FromForm] ProductForm form, [FromServices] GetProduct getProduct, [FromServices] UpdateProduct updateProduct, [FromServices] S3Client s3Client) { var product = getProduct.Do(form.Id); product.Description = form.Description; product.Series = form.Series; product.StockDescription = form.StockDescription; if (form.Images != null && form.Images.Any()) { product.Images = new List <Image>(); var results = await Task.WhenAll(UploadFiles(s3Client, form.Images)); product.Images.AddRange(results.Select((path, index) => new Image { Index = index, Url = path, })); } await updateProduct.Update(product); return(Ok()); }