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(); }
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()); }
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(); }