Example #1
0
        public async Task UpdatePhotoAsync(PhotoUpdateDTO photoDTO)
        {
            var photo = await unitOfWork.Photos.GetByIdAsync(photoDTO.Id);

            helper.ThrowPhotoGalleryNotFoundExceptionIfModelIsNull(photo);
            helper.ThrowPhotoGalleryNotAllowedExceptionIfDifferentId(photo.Album.UserId, photoDTO.UserId);

            mapper.Map(photoDTO, photo);

            unitOfWork.Photos.Update(photo);
            await unitOfWork.SaveAsync();
        }
Example #2
0
        public async Task <ActionResult> PutPhoto(int id, [FromBody] PhotoUpdateDTO photoUpdateDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (photoUpdateDTO.Id != id)
            {
                return(BadRequest());
            }

            try
            {
                await _photoService.UpdatePhotoAsync(photoUpdateDTO, UserId);
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }

            return(Ok());
        }
Example #3
0
        public async Task UpdatePhotoAsync(PhotoUpdateDTO photoDTO, int userId)
        {
            if (photoDTO == null)
            {
                throw null;
            }

            var photo = await _unit.Photos.GetByIdAsync(photoDTO.Id);

            if (photo == null)
            {
                throw new ValidationException("Photo was not found");
            }

            if (photo.Album.UserId != userId)
            {
                throw new ValidationException("You don`t have permission to update this photo");
            }

            photo.Name = photoDTO.Name;

            _unit.Photos.Update(photo);
            await _unit.SaveAsync();
        }