Beispiel #1
0
        public async Task <ActionResult> UploadPicture(IFormFile file, int blogPostId)
        {
            var result = await _pictureService.AddPictureAsync(file);

            if (result.Error is not null)
            {
                return(BadRequest(result.Error.Message));
            }

            var newPicture = new PictureDTO()
            {
                BlogPostId        = blogPostId,
                TypeDiscriminator = 1,
                PublicId          = result.PublicId,
                Url         = result.SecureUrl.AbsoluteUri,
                Description = file.FileName
            };

            await _pictureRepository.AddPictureToBlogPostAsync(newPicture);

            if (await _pictureRepository.SaveAllChangesAsync())
            {
                return(CreatedAtRoute(
                           "GetBlogPostById",
                           new { id = blogPostId },
                           newPicture
                           ));
            }

            return(BadRequest(result.Error.Message));
        }