public PendingRequest GetPendingRequests(string user) { PendingRequest pending = new PendingRequest(); pending.friend_requests = new List <string>(); using (var factory = new FriendSuggestorContextFactory()) { // Get a context using (var context = factory.CreateContext()) { User u = context.Users.Where(x => x.UserName == user).FirstOrDefault(); if (u != null) { pending.friend_requests = (from l in context.FriendsLists join r in context.Users on l.UserF equals r.UserId where l.UserSF == u.UserId && l.IsFriend == false select r.UserName).ToList(); } else { pending.friend_requests = null; } } } return(pending); }
public int CreateAppUser(CreateUser createUser) { using (var factory = new FriendSuggestorContextFactory()) { // Get a context using (var context = factory.CreateContext()) { var u = context.Users.FirstOrDefault(user => user.UserName == createUser.username); if (u == null) { var user = new User() { UserName = createUser.username }; FriendRequest friend = new FriendRequest(); friend.Users = user; friend.TotalFriends = 0; friend.PendingRequests = 0; context.FriendRequests.Add(friend); context.Users.Add(user); context.SaveChanges(); var ik = context.Users.ToList(); return(1); } else { return(0); } } } }
public void DeleteAll() { using (var factory = new FriendSuggestorContextFactory()) { // Get a context using (var context = factory.CreateContext()) { context.FriendRequests.RemoveRange(context.FriendRequests); context.FriendsLists.RemoveRange(context.FriendsLists); context.Users.RemoveRange(context.Users); context.SaveChanges(); } } }
public int AddFriend(string userA, string userB) { int userAId = 0; int userBId = 0; int status = 0; using (var factory = new FriendSuggestorContextFactory()) { // Get a context using (var context = factory.CreateContext()) { userAId = context.Users.Where(a => a.UserName == userA).Select(a => a.UserId).FirstOrDefault(); userBId = context.Users.Where(a => a.UserName == userB).Select(a => a.UserId).FirstOrDefault(); if (userAId != 0 && userBId != 0) { FriendRequest fr1 = context.FriendRequests.Where(a => a.UserId == userAId).FirstOrDefault(); FriendRequest fr2 = context.FriendRequests.Where(a => a.UserId == userBId).FirstOrDefault(); FriendsList fl1 = context.FriendsLists.Where(a => a.UserF == userAId && a.UserSF == userBId).FirstOrDefault(); FriendsList fl2 = context.FriendsLists.Where(a => a.UserF == userBId && a.UserSF == userAId).FirstOrDefault(); if (fl1 == null) { if (fl2 != null) { fl2.IsFriend = true; fr2.PendingRequests = fr2.PendingRequests - 1; fr2.TotalFriends = fr2.TotalFriends + 1; fr1.TotalFriends = fr1.TotalFriends + 1; } else { fl2 = new FriendsList(); fl2.UserF = userAId; fl2.UserSF = userBId; fl2.IsFriend = false; context.FriendsLists.Add(fl2); fr2.PendingRequests = fr2.PendingRequests; } context.SaveChanges(); status = 1; } else { status = 2; } } } } return(status); }
public AllFriends GetAllFriends(string user) { AllFriends all = new AllFriends(); all.friends = new List <string>(); using (var factory = new FriendSuggestorContextFactory()) { // Get a context using (var context = factory.CreateContext()) { User u = context.Users.Where(x => x.UserName == user).FirstOrDefault(); if (u != null) { var u1 = (from l in context.FriendsLists join r in context.Users on l.UserF equals r.UserId where l.UserSF == u.UserId && l.IsFriend == true select r.UserName).Distinct().ToList(); if (u1.Count > 0) { all.friends.AddRange(u1); } var u2 = (from l in context.FriendsLists join r in context.Users on l.UserSF equals r.UserId where l.UserF == u.UserId && l.IsFriend == true select r.UserName).Distinct().ToList(); if (u2.Count > 0) { all.friends.AddRange(u2); } } else { all.friends = null; } } } return(all); }