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);
        }
Exemple #2
0
        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);
        }