public async Task<string> GetFileUrl(Photo photo)
        {
            string relativeFileName = Path.Combine(
                _relativePathToPhotos,
                photo.DepositId.ToString(),
                photo.Id.ToString(),
                photo.ImageUploadFileName);

            string absoluteFileName = _absoluteRoot + relativeFileName;

            if (!File.Exists(absoluteFileName))
            {
                string dirName = Path.GetDirectoryName(absoluteFileName);
                if (!Directory.Exists(dirName))
                {
                    Directory.CreateDirectory(dirName);
                }

                using (var ms = new MemoryStream(photo.ImageUpload.Content))
                using (var fs = new FileStream(absoluteFileName, FileMode.Create))
                {
                    await ms.CopyToAsync(fs);
                }
            }

            return relativeFileName.Replace('\\', '/');
        }
 public async Task AddPhotos(int depositId, params IFormFile[] photoFiles)
 {
     photoFiles.ToList().ForEach(pf =>
     {
         var content = pf.ToByteArray();
         var photo = new Photo()
         {
             DepositId = depositId,
             ImageUploadFileName = pf.GetFileName(),
             ImageUpload = new ImageUpload()
             {
                 Content = content,
                 ContentType = pf.ContentType,
                 Length = content.Length
             }
         };
         _dbContext.Photos.Add(photo);
         _dbContext.ImageUploads.Add(photo.ImageUpload);
     });
     await _dbContext.SaveChangesAsync();
 }