/// <summary> /// db context functions to get all tweets /// </summary> /// <param name="id"></param> /// <returns></returns> public IList <GetAllTweetsDTO> GetAllTweets(Guid id) { IList <GetAllTweetsDTO> tweetList = new List <GetAllTweetsDTO>(); IList <GetAllTweetsDTO> tweetList1 = new List <GetAllTweetsDTO>(); tweetList = (from u in DBContext.Follow.Where(ds => ds.Follower_UserID == id) join uf in DBContext.Follow on u.Followed_UserID equals uf.Followed_UserID join t in DBContext.Tweet on uf.Followed_UserID equals t.UserID join user in DBContext.User on t.UserID equals user.ID orderby t.CreatedAt descending select new GetAllTweetsDTO() { MessageId = t.ID, Message = t.Message, CreatedAt = t.CreatedAt, UserName = user.FirstName + user.LastName, IsAuthor = false, TweetID = t.ID }).Distinct().ToList(); foreach (var iter in tweetList) { LikeTweet t = DBContext.LikeTweet.Where(x => (x.UserID == id) && (x.TweetID == iter.TweetID)).FirstOrDefault(); if (t != null) { iter.isLiked = true; } else { iter.isLiked = false; } } tweetList1 = (from u in DBContext.User.Where(tr => tr.ID == id) join t in DBContext.Tweet on u.ID equals t.UserID orderby t.CreatedAt descending select new GetAllTweetsDTO() { MessageId = t.ID, Message = t.Message, CreatedAt = t.CreatedAt, UserName = u.FirstName + u.LastName, IsAuthor = true, isLiked = false, TweetID = t.ID }).ToList(); tweetList = tweetList.Concat(tweetList1).ToList(); return(tweetList); }
public bool DisLikeTweet(Guid userid, Guid tweetid) { LikeTweet tweet = DBContext.LikeTweet.Where(ds => ds.UserID == userid && ds.TweetID == tweetid).FirstOrDefault(); if (tweet != null) { DBContext.LikeTweet.Remove(tweet); DBContext.SaveChanges(); return(true); } else { return(false); } }
public bool LikeTweet(LikeTweetDTO liketweetdto) { LikeTweet liketweet1 = DBContext.LikeTweet.Where(ds => ds.UserID == liketweetdto.LoggedInUserID && ds.TweetID == liketweetdto.TweetID).FirstOrDefault(); if (liketweet1 != null) { return(false); } else { LikeTweet liketweet = new LikeTweet(); liketweet.ID = System.Guid.NewGuid(); liketweet.TweetID = liketweetdto.TweetID; liketweet.UserID = liketweetdto.LoggedInUserID; DBContext.LikeTweet.Add(liketweet); DBContext.SaveChanges(); return(true); } }