示例#1
0
        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);
        }