public ActionResult Accept(string id) { var friendsContext = new FriendsDbContext(); var requestsContext = new FriendRequestDbContext(); var userId = User.Identity.GetUserId(); var requestToRemove = requestsContext.FriendRequests.FirstOrDefault(u => u.FriendId == userId && u.UserId == id); // Check that the users aren't already friends var friends = friendsContext.Friends.Where(u => u.User.UserId == userId && u.Friend.UserId == id); if (friends.Count() == 0) { friendsContext.Friends.Add(new FriendsModel { UserId = userId, FriendId = id, Category = "Friend" }); // You're my friend == I'm your friend (allows users to pick different categories for each other) friendsContext.Friends.Add(new FriendsModel { UserId = id, FriendId = userId, Category = "Friend" }); friendsContext.SaveChanges(); } requestsContext.FriendRequests.Remove(requestToRemove); requestsContext.SaveChanges(); return(RedirectToAction("Index")); }
//Ta vort från vänförfrågning private void RemoveFromRequests(string userId, string friendUserId) { var ctx = new FriendRequestDbContext(); var reqToRemove = ctx.Requests. SingleOrDefault(r => r.RecieverId == userId && r.SenderId == friendUserId); if (reqToRemove != null) { ctx.Requests.Remove(reqToRemove); } ctx.SaveChanges(); }
//Avböj vänförfrågan public ActionResult DenyFriendRequest(string userId) { var currentUserId = User.Identity.GetUserId(); var ctx = new FriendRequestDbContext(); var request = ctx.Requests.FirstOrDefault(r => r.RecieverId == currentUserId && r.SenderId == userId); if (request != null) { ctx.Requests.Remove(request); ctx.SaveChanges(); } return(Redirect(Request.UrlReferrer.ToString())); }
public ActionResult Ignore(string id) { var requestsContext = new FriendRequestDbContext(); var userId = User.Identity.GetUserId(); var requestToRemove = requestsContext.FriendRequests.FirstOrDefault(u => u.UserId == id && u.FriendId == userId); if (requestToRemove != null) { requestsContext.FriendRequests.Remove(requestToRemove); requestsContext.SaveChanges(); } return(RedirectToAction("Index")); }
public ActionResult NewRequests() { var hasRequests = "false"; var requestsContext = new FriendRequestDbContext(); var userId = User.Identity.GetUserId(); var unseenRequests = requestsContext.FriendRequests.Where(r => r.FriendId == userId && r.Seen == false).Count(); if (unseenRequests > 0) { hasRequests = "true"; } return(Content(hasRequests)); }
public ActionResult SendFriendRequest(string userId) { if (userId != User.Identity.GetUserId()) { var ctx = new FriendRequestDbContext(); ctx.Requests.Add(new FriendRequest() { SenderId = User.Identity.GetUserId(), RecieverId = userId }); ctx.SaveChanges(); } return(RedirectToAction("Index", "Home")); }
public ActionResult Index() { var userId = User.Identity.GetUserId(); var userContext = new UserDbContext(); var friendsContext = new FriendsDbContext(); var friends = friendsContext.Friends.Where(u => u.UserId == userId); var friendList = new List <FriendsViewModel>(); foreach (var friend in friends) { var user = userContext.Users.FirstOrDefault(u => u.UserId == friend.FriendId); friendList.Add(new FriendsViewModel { UserId = friend.FriendId, ProfilePicUrl = user.ProfilePicUrl, FullName = user.FirstName + ' ' + user.LastName, BirthYear = user.BirthDate.Value.Year, Category = friend.Category }); } var requestsContext = new FriendRequestDbContext(); var requests = requestsContext.FriendRequests.Where(u => u.FriendId == userId); var requestList = new List <FriendsViewModel>(); foreach (var request in requests) { var user = userContext.Users.FirstOrDefault(u => u.UserId == request.UserId); requestList.Add(new FriendsViewModel { UserId = request.UserId, ProfilePicUrl = user.ProfilePicUrl, FullName = user.FirstName + ' ' + user.LastName, BirthYear = user.BirthDate.Value.Year, }); } var friendCollection = new FriendCollectionViewModel { Friends = friendList, Requests = requestList }; ViewBag.CategoryList = GetList.Categories(); return(View(friendCollection)); }
public ActionResult _FriendRequestPartial() { var uId = User.Identity.GetUserId(); var fRequests = new FriendRequestDbContext(). Requests.Where(u => u.RecieverId == uId).ToList(); var frqSenderIds = fRequests.Select(f => f.SenderId).ToList(); var fProfiles = new ProfileDbContext().Profiles.Where(p => frqSenderIds.Contains(p.UserId)).ToList(); /* var fProfiles = new ProfileDbContext().Profiles.Where(p => * (fRequests.Select(f => f.SenderId).Contains(p.UserId))).ToList();*/ var fReqList = new List <FriendViewModel>(); foreach (var p in fProfiles) { fReqList.Add(FriendViewModel.FromProfile(p)); } return(PartialView("_FriendRequestPartial", fReqList)); }
// TODO: Move this action to ProfileController when it's done public ActionResult Add(string id) { var userContext = new UserDbContext(); var friendsContext = new FriendsDbContext(); var requestsContext = new FriendRequestDbContext(); var userId = User.Identity.GetUserId(); // Check that the sender hasn't already sent a request var sentRequest = requestsContext.FriendRequests.Where(u => u.UserId == userId && u.FriendId == id); if (sentRequest.Count() == 0) { // Check that the recipient hasn't already sent a request (redirect to requests page if they have) var receivedRequest = requestsContext.FriendRequests.Where(u => u.UserId == id && u.FriendId == userId); if (receivedRequest.Count() == 0) { // Check that the users aren't already friends && that the user isn't trying to add themself var friends = friendsContext.Friends.Where(u => u.User.UserId == userId && u.Friend.UserId == id); if (friends.Count() == 0 && userId != id) { requestsContext.FriendRequests.Add(new FriendRequestModel { UserId = userId, FriendId = id, Seen = false }); requestsContext.SaveChanges(); } } else { return(RedirectToAction("Index", "Friends")); } } // TODO: Change to appropriate action once the method has been moved to ProfileController return(RedirectToAction("All", "User")); }