private async Task <ResourceModel> CreateImageResource(Guid userId, string group, ImageCreateDTO dto) { var fileName = Guid.NewGuid().ToString("N"); var resourceEntity = new ResourceModel { UserId = userId, Group = group, FileName = fileName, ContentType = dto.ContentType, CreatedDate = DateTime.UtcNow, IsWithResolution = true }; var resource = await _repository.Create(resourceEntity); await _filesService.UploadImageFile(group, "original", fileName, dto.Stream); var baseImage = ImageResizer.GetBaseImage(dto.Stream); foreach (var size in CropSizesSettings.Sizes) { var image = ImageResizer.GetResizedImage(baseImage, size, dto.ContentType); await _filesService.UploadImageFile(group, size.ToString(), fileName, image); image.Dispose(); } dto.Stream.Dispose(); return(resource); }