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