public async Task <PHOTOnline.Domain.Entities.Images.Image> CreateImageAsync( string localPath, string contentType, string originalFileName) { ImageVariant originalVariant = await StoreImageVariant( localPath, contentType, originalFileName); ImageVariant thumbnailVariant = await CreateImageVariant( localPath, contentType, originalFileName, THUMBNAIL_MAX, 0, null); ImageVariant smallVariant = await CreateImageVariant( localPath, contentType, originalFileName, SMALL_MAX, THUMBNAIL_MAX, thumbnailVariant); ImageVariant mediumVariant = await CreateImageVariant( localPath, contentType, originalFileName, MEDIUM_MAX, SMALL_MAX, smallVariant); ImageVariant largeVariant = await CreateImageVariant( localPath, contentType, originalFileName, LARGE_MAX, MEDIUM_MAX, mediumVariant); return(new Domain.Entities.Images.Image() { Original = originalVariant, Thumbnail = thumbnailVariant, Small = smallVariant, Medium = mediumVariant, Large = largeVariant, Title = originalFileName }); }
private async Task <ImageVariant> CreateImageVariant( string localPath, string contentType, string originalFileName, int maxWidth, int minWidth, ImageVariant smallerVariant) { string resizedImagePath = FitImageToSize(localPath, contentType, maxWidth, minWidth); if (resizedImagePath == null) { return(smallerVariant); } return(await StoreImageVariant(resizedImagePath, contentType, originalFileName)); }