Пример #1
0
        public async Task <IActionResult> AddLikes([FromBody] LikesDto objLikeDto)
        {
            var userId = objLikeDto.LikerId;

            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }


            var likeList = await objLikesDAL.GetLike();

            var like = likeList.FirstOrDefault(x => x.LikerId == objLikeDto.LikerId && x.LikeeId == objLikeDto.LikeeId);

            if (like != null)
            {
                return(BadRequest("You already like this user"));
            }

            var user = await objDattingDAL.GetUserList();

            if (!user.Exists(x => x.id == userId))
            {
                return(NotFound());
            }


            var likesId = await objLikesDAL.AddLikes(objLikeDto);

            return(Ok());
        }
Пример #2
0
        public Task <List <LikesDto> > GetLike()
        {
            List <LikesDto> objLikeList = new List <LikesDto>();

            using (SqlConnection con = new SqlConnection(ConnectionString))
            {
                SqlCommand cmd = new SqlCommand("usp_getLikes", con);
                cmd.CommandType = CommandType.StoredProcedure;
                con.Open();
                SqlDataReader rdr = cmd.ExecuteReader();

                while (rdr.Read())
                {
                    LikesDto objLikeDto = new LikesDto();
                    objLikeDto.LikeId  = Convert.ToInt32(rdr["LikeId"]);
                    objLikeDto.LikerId = Convert.ToInt32(rdr["LikerId"]);
                    objLikeDto.LikeeId = Convert.ToInt32(rdr["LikeeId"]);
                    objLikeList.Add(objLikeDto);
                }

                con.Close();
            }

            return(Task.FromResult(objLikeList));
        }
Пример #3
0
        public async Task <ActionResult> CreateLike(LikesDto likesDto)
        {
            var likeObj = new Like {
                PostId = likesDto.PostId, LikedbyAccountId = likesDto.AccountId, CreatedDate = DateTime.Now, IsLiked = true
            };
            await _likesRepository.CreateLikeAsync(likeObj);

            var likes = await _likesRepository.GetLikesByPost(likesDto.PostId);

            likes = likes.Where(x => x.IsLiked).ToList();
            return(Ok(_mapper.Map <List <Like>, List <LikesDto> >(likes)));
        }
Пример #4
0
        public async Task <IActionResult> UserLikerList([FromBody] LikesDto objLikeDto)
        {
            var userId = objLikeDto.LikerId;

            objLikeDto.PageNumber = objLikeDto.PageNumber <= 0 ? 1 : objLikeDto.PageNumber;
            objLikeDto.PageSize   = objLikeDto.PageSize <= 0 ? 5 : objLikeDto.PageSize;
            var likerUser = await objLikesDAL.GetLikerUserList(userId);

            var PageListUser = PagedList <UsersDto> .Create(likerUser.AsQueryable(), objLikeDto.PageNumber, objLikeDto.PageSize);

            Response.AddPagination(PageListUser.CurrentPage, PageListUser.PageSize, PageListUser.TotalCount, PageListUser.TotalPages);

            return(Ok(PageListUser));
        }
Пример #5
0
        public static List <UserPostsDto> ConvertUserPostsToDTO(List <Posts> postsForUser)
        {
            var userPostsDto = new List <UserPostsDto>();

            foreach (var post in postsForUser)
            {
                var userPostDto = new UserPostsDto()
                {
                    Id            = post.Id,
                    PhotoUploaded = post.PhotoUploaded,
                    TimeUploaded  = post.TimeUploaded,
                    Description   = post.Description
                };

                userPostDto.User.Id             = post.User.Id;
                userPostDto.User.FullName       = post.User.Name + ' ' + post.User.Surname;
                userPostDto.User.DateOfBirth    = post.User.DateOfBirth;
                userPostDto.User.ProfilePicture = post.User.ProfilePicture;
                userPostDto.User.Gender         = post.User.Gender;
                userPostDto.User.IsPrivate      = post.User.IsPrivate;
                userPostDto.User.IsOnline       = post.User.IsOnline;

                foreach (var like in post.Likes)
                {
                    var newLikeDto = new LikesDto();
                    newLikeDto.DateCreated = like.DateCreated;
                    newLikeDto.PostId      = like.PostId;
                    newLikeDto.User        = ConvertSingleUserToDto(like.User);

                    userPostDto.Likes.Add(newLikeDto);
                }

                foreach (var comment in post.Comments)
                {
                    var newCommentDto = new CommentsDto();
                    newCommentDto.DateCreated = comment.DateCreated;
                    newCommentDto.PostId      = comment.PostId;
                    newCommentDto.Comment     = comment.Comment;
                    newCommentDto.User        = ConvertSingleUserToDto(comment.User);
                    newCommentDto.Id          = comment.Id;

                    userPostDto.Comments.Add(newCommentDto);
                }

                userPostsDto.Add(userPostDto);
            }

            return(userPostsDto);
        }
Пример #6
0
        public Task <int> RemoveLikes(LikesDto objLikeDto)
        {
            int likeIdOut = 0;

            using (SqlConnection con = new SqlConnection(ConnectionString))
            {
                SqlCommand cmd = new SqlCommand("usp_RemoveLikes", con);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@LikerId", objLikeDto.LikerId);
                cmd.Parameters.AddWithValue("@LikeeId", objLikeDto.LikeeId);
                cmd.Parameters.Add("@likeIdOut", SqlDbType.Int).Direction = ParameterDirection.Output;
                con.Open();
                cmd.ExecuteNonQuery();

                likeIdOut = Convert.ToInt32(cmd.Parameters["@likeIdOut"].Value);
                con.Close();
            }
            return(Task.FromResult(likeIdOut));
        }
Пример #7
0
        public async Task <IActionResult> RemoveLikes([FromBody] LikesDto objLikeDto)
        {
            var userId = objLikeDto.LikerId;

            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var likeList = await objLikesDAL.GetLike();

            var like = likeList.FirstOrDefault(x => x.LikerId == objLikeDto.LikerId && x.LikeeId == objLikeDto.LikeeId);

            if (like == null)
            {
                return(BadRequest("User is not available for unlike"));
            }

            var likesId = await objLikesDAL.RemoveLikes(objLikeDto);

            return(Ok());
        }