Ejemplo n.º 1
0
        public async Task <IActionResult> AddPhotoForUser(int userId, [FromForm] PhotoForCreationDto photoDto)
        {
            var user = await _repository.GetUser(userId);

            if (user == null)
            {
                return(BadRequest("Could not find the user"));
            }

            var uploadResults = _cloudinaryService.UploadImage(photoDto.File);

            photoDto.Url      = uploadResults.Uri.ToString();
            photoDto.PublicId = uploadResults.PublicId;

            var photo = _mapper.Map <Photo>(photoDto);

            photo.User = user;

            if (!user.Photos.Any(p => p.IsMain))
            {
                photo.IsMain = true;
            }

            _repository.Add(photo);

            if (await _repository.SaveAll())
            {
                var photoToReturn = _mapper.Map <PhotoToReturnDto>(photo);
                return(CreatedAtRoute("GetPhoto", new { id = photo.Id }, photoToReturn));
            }

            return(BadRequest("Could not add the photo"));
        }
Ejemplo n.º 2
0
        public async Task <CreateImageResponseModel> UploadImage()
        {
            var contentStream = await Request.Content.ReadAsStreamAsync();

            var uploadImageResponse = await _cloudinaryService.UploadImage(new UploadImageRequest
            {
                Stream = contentStream
            });

            var createImageRequest = new CreateImageRequest
            {
                OriginalUrl     = uploadImageResponse.OriginalUrl,
                TransformedUrls = uploadImageResponse.TransformedImages
            };

            var guid = await _imagesManagementService.CreateImage(createImageRequest);

            return(new CreateImageResponseModel
            {
                ImageId = guid,
                OriginalUrl = createImageRequest.OriginalUrl,
                TransformedUrls = createImageRequest.TransformedUrls
            });
        }