public List <UserWithFriendship> GetUnansweredRequestsForCard(string currUser) { List <UserWithFriendship> returnlist = new List <UserWithFriendship>(); var requests = (from u in _dbContext.Users join f in _dbContext.FriendRequests on u.Id equals f.ToUserId where f.FromUserId == currUser orderby u.FullName select u).ToList(); foreach (var user in requests) { UserWithFriendship uwf = new UserWithFriendship(user, false); uwf.HasUnansweredRequest = false; uwf.HasSentRequest = true; returnlist.Add(uwf); } return(returnlist); }
public List <UserWithFriendship> SearchUsersWithFriendship(string prefix, string currUser) { List <UserWithFriendship> returnlist = new List <UserWithFriendship>(); var users = (from u in _dbContext.Users where u.FullName.Contains(prefix) && u.ParentId != null && u.Id != currUser orderby u.FullName select u).ToList(); foreach (var user in users) { var areFriends = (from friendshp in _dbContext.Friendships where friendshp.FromUserId == currUser && friendshp.ToUserId == user.Id select friendshp).FirstOrDefault(); UserWithFriendship uwf = new UserWithFriendship(user, areFriends != null); if (!uwf.IsFriends) { var requestSent = (from request in _dbContext.FriendRequests where request.FromUserId == currUser && request.ToUserId == user.Id select request).FirstOrDefault(); uwf.HasSentRequest = requestSent != null; if (!uwf.HasSentRequest) { var requestRecieved = (from request in _dbContext.FriendRequests where request.ToUserId == currUser && request.FromUserId == user.Id select request).FirstOrDefault(); uwf.HasUnansweredRequest = requestRecieved != null; } } uwf.User = user; returnlist.Add(uwf); } return(returnlist); }