Ejemplo n.º 1
0
        public async Task <ImageResponse> UpdateUserImage(ImageUserRequest request)
        {
            var image = await _context.UserImages.Where(u => u.UserId == request.UserId).FirstOrDefaultAsync();

            if (image == null)
            {
                return(await AddUserImage(request));
            }

            var file         = request.File;
            var uploadResult = await UploadImage(file);

            request.ImageUrl  = uploadResult.Url.ToString();
            request.PublicId  = uploadResult.PublicId;
            request.TimeImage = DateTime.UtcNow;
            if (uploadResult.Error != null)
            {
                return(null);
            }
            await DeleteImage(image.PublicId);

            _mapper.Map(request, image);
            _context.Entry(image).State = EntityState.Modified;
            await _context.SaveChangesAsync();

            return(_mapper.Map <ImageResponse>(image));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> PostUserImage(string userId, [FromForm] ImageUserRequest imageRequest)
        {
            imageRequest.UserId = userId;
            var image = await _imageService.UpdateUserImage(imageRequest);

            return(CreatedAtRoute("GetUserImage", new { userId = userId, id = image.ImageId }, image));
        }
Ejemplo n.º 3
0
        public async Task <ImageResponse> AddUserImage(ImageUserRequest request)
        {
            var file         = request.File;
            var uploadResult = await UploadImage(file);

            request.ImageUrl  = uploadResult.Url.ToString();
            request.PublicId  = uploadResult.PublicId;
            request.TimeImage = DateTime.UtcNow;
            var image = _mapper.Map <UserImage>(request);

            _context.UserImages.Add(image);
            await _context.SaveChangesAsync();

            return(_mapper.Map <ImageResponse>(image));
        }