public static List <RelationshipViewModel> GetRelationshipList(string userID, RelationshipStatus status) { try { // Create stored procedure for getting list of friends. List <Relationship> friendsList = db.Relationships.Where(i => (i.UserOneID == userID || i.UserTwoID == userID) && i.Status == status).ToList(); List <RelationshipViewModel> friends = new List <RelationshipViewModel>(); foreach (Relationship item in friendsList) { User user = (item.UserOneID != userID) ? db.Users.Find(item.UserOneID) : db.Users.Find(item.UserTwoID); Image profilePicture = Image.GetProfileImages(user.UserID, FileType.ProfilePicture); RelationshipViewModel friend = new RelationshipViewModel(user, profilePicture.Path, item.ID); friends.Add(friend); } return(friends); } catch (Exception) { return(new List <RelationshipViewModel>()); throw new NullReferenceException(); } }
public static List <RelationshipViewModel> GetNullRelationshipList(string userID) { try { List <User> users = db.Users.ToList(); UserProfile compareProfile = db.UserProfiles.Where(a => a.UserID == userID).FirstOrDefault(); List <RelationshipViewModel> suggestedUsers = new List <RelationshipViewModel>(); List <Relationship> relationships = db.Relationships.SqlQuery("dbo.Relationship_Select @p0", userID).ToList(); //UserProfile userProfile; foreach (var user in users) { if (userID != user.UserID) { //suggestedFriendsViewModel.Users.Add(user); Relationship relationship = db.Relationships.SqlQuery( "dbo.Check_Friends @p0, @p1", userID, user.UserID).FirstOrDefault(); if (relationship == null || relationship.Status == RelationshipStatus.NoRelationship) { UserProfile userProfile = db.UserProfiles.Where(a => a.UserID == user.UserID).FirstOrDefault(); // if both users live in the same place, add to Suggested Friends list if (compareProfile.HomeTown == userProfile.HomeTown) { Image profilePicture = Image.GetProfileImages(user.UserID, FileType.ProfilePicture); string reason = "Because you both live in: " + db.Places.Where(a => a.PlaceID == compareProfile.HomeTown).Select(a => a.Name).FirstOrDefault(); RelationshipViewModel friend = new RelationshipViewModel(user, profilePicture.Path, 0, reason); suggestedUsers.Add(friend); } // if both users live in the same place, add to Suggested Friends list else if (compareProfile.LastTraveled == userProfile.LastTraveled && compareProfile.LastTraveled != null) { Image profilePicture = Image.GetProfileImages(user.UserID, FileType.ProfilePicture); string reason = "Because you both visited: " + db.Places.Where(a => a.PlaceID == compareProfile.LastTraveled).Select(a => a.Name).FirstOrDefault(); RelationshipViewModel friend = new RelationshipViewModel(user, profilePicture.Path, 0, reason); suggestedUsers.Add(friend); } } } Debug.WriteLine("COUNT: " + suggestedUsers.Count.ToString()); if (suggestedUsers != null && suggestedUsers.Count > 5) { break; } } return(suggestedUsers); } catch (Exception) { return(new List <RelationshipViewModel>()); throw new NullReferenceException(); } }