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()); }
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)); }
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))); }
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)); }
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); }
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)); }
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()); }