public async Task <Post> DislikePost(string postId, User user) { Post post = await this.GetPostById(postId); if (!post.UserPostDislikes.Any(x => x.UserId == user.Id)) { UserPostDislikes userPostDislikes = new UserPostDislikes() { User = user, UserId = user.Id, Post = post, PostId = postId }; await this.dbContext.UserPostDislikes.AddAsync(userPostDislikes); } if (post.UserPostLikes.Any(x => x.UserId == user.Id)) { UserPostLikes entity = await this.dbContext.UserPostLikes.FirstOrDefaultAsync(x => x.UserId == user.Id); this.dbContext.UserPostLikes.Remove(entity); } await this.dbContext.SaveChangesAsync(); return(post); }
public IEnumerable <UserPostLikes> GetUsersWhoLikedPost(int id) { var users = _context.PostLikes.Where(x => x.PostID.Equals(id)).Include(x => x.UserData).ToList(); List <UserPostLikes> listUsers = new List <UserPostLikes>(); foreach (var item in users) { UserPostLikes singleUser = new UserPostLikes(); singleUser.ID = item.ID; singleUser.Name = item.UserData.Name; singleUser.Photo = item.UserData.Photo; singleUser.Lastname = item.UserData.Lastname; singleUser.Eko = item.UserData.Eko; singleUser.Email = item.UserData.Email; listUsers.Add(singleUser); } return(listUsers); }