public async Task <bool> UnlikePhoto(string photoId, string albumId, User requestor) { var photo = await _photoService.GetPhoto(photoId); var like = await _unitOfWork.Likes.GetFirst(x => x.Reactor == requestor); if (!await _permissionsService.CanUnLike(requestor, like, albumId)) { return(false); } var photoLike = photo.PhotoLikes.FirstOrDefault(x => x.Like == like); photo.PhotoLikes.Remove(photoLike); await _unitOfWork.Likes.Delete(like); await _unitOfWork.Photos.Update(photo); return(true); }