public ActionResult RemoveFriend(int requester, int requested) { int personId = Int32.Parse(Session["person_id"].ToString()); if (requester == personId) { Models.FriendLink theLinkRequester = db.FriendLinks.SingleOrDefault(c => c.requester == personId && c.requested == requested); IEnumerable <Models.Message> theMessage = db.Messages.Where(c => (c.sender == personId && c.receiver == requested) || (c.sender == requested && c.receiver == personId)); foreach (var item in theMessage) { db.Messages.Remove(item); } db.FriendLinks.Remove(theLinkRequester); db.SaveChanges(); } else { Models.FriendLink theLinkRequested = db.FriendLinks.SingleOrDefault(c => c.requester == requester && c.requested == personId); IEnumerable <Models.Message> theMessage = db.Messages.Where(c => (c.sender == personId && c.receiver == requester) || (c.sender == requester && c.receiver == personId)); foreach (var item in theMessage) { db.Messages.Remove(item); } db.FriendLinks.Remove(theLinkRequested); db.SaveChanges(); } return(View("FriendLink", db.FriendLinks)); }
public ActionResult DeleteRequest(int id) { Models.FriendLink theFriendRequest = database.FriendLinks.SingleOrDefault(c => c.requester == id); database.FriendLinks.Remove(theFriendRequest); database.SaveChanges(); return(RedirectToAction("FriendRequestIndex", new { id = theFriendRequest.requester })); }
public ActionResult ApproveRequest(int id) { Models.FriendLink theFriendRequest = database.FriendLinks.SingleOrDefault(c => c.requester == id); theFriendRequest.read = 1; theFriendRequest.status = "Approved"; theFriendRequest.approved = 1; database.SaveChanges(); return(RedirectToAction("FriendRequestIndex", new { id = theFriendRequest.requester })); }
public ActionResult Refuse(int id) { int personId = Int32.Parse(Session["person_id"].ToString()); Models.FriendLink theLink = db.FriendLinks.SingleOrDefault(c => c.requester == id && c.requested == personId); db.FriendLinks.Remove(theLink); db.SaveChanges(); return(View("FriendLink", db.FriendLinks)); }
public ActionResult UnFollowUser(int id) { int user_id = int.Parse(Session["user_id"].ToString()); Models.Profile theProfile = database.Profiles.SingleOrDefault(p => p.user_id == user_id); Models.FriendLink theFriend = database.FriendLinks.SingleOrDefault(p => p.requested == id); database.FriendLinks.Remove(theFriend); database.SaveChanges(); return(RedirectToAction("Index", new { id = theProfile.profile_id })); }
public ActionResult CreateFriendLink(int id) { int personId = Int32.Parse(Session["person_id"].ToString()); string error = ""; Models.FriendLink theLinkRequester = db.FriendLinks.SingleOrDefault(c => c.requester == personId && c.requested == id); Models.FriendLink theLinkRequested = db.FriendLinks.SingleOrDefault(c => c.requester == id && c.requested == personId); Models.Profile theRequested = db.Profiles.SingleOrDefault(c => c.person_id == id); Models.FriendLink newLink; if (theLinkRequester == null && theLinkRequested == null) { if (theRequested.privacy_flag.Equals("On")) { newLink = new Models.FriendLink() { requester = personId, requested = id, approved = "Pending", status = "Strangers", read = "Not read", timestamp = DateTime.Now.ToString() }; } else { newLink = new Models.FriendLink() { requester = personId, requested = id, approved = "true", status = "Friends", read = "Not read", timestamp = DateTime.Now.ToString() }; } db.FriendLinks.Add(newLink); db.SaveChanges(); return(RedirectToAction("AllUsers", new { errorMessage = error })); } else { Models.Profile theProfile = db.Profiles.SingleOrDefault(p => p.person_id == id); error = "You have already sent/received a friend request to/from " + theProfile.first_name + " " + theProfile.last_name; return(RedirectToAction("AllUsers", new { errorMessage = error })); } }
public ActionResult Approve(int id) { int personId = Int32.Parse(Session["person_id"].ToString()); Models.FriendLink theLink = db.FriendLinks.SingleOrDefault(c => c.requester == id && c.requested == personId); theLink.approved = "true"; theLink.status = "Friends"; db.SaveChanges(); return(View("FriendLink", db.FriendLinks)); }
public ActionResult DetailsPrivacy(int id) { int personId = Int32.Parse(Session["person_id"].ToString()); Models.FriendLink theLinkRequester = db.FriendLinks.SingleOrDefault(c => c.requester == personId && c.requested == id && c.approved == "true"); Models.FriendLink theLinkRequested = db.FriendLinks.SingleOrDefault(c => c.requester == id && c.requested == personId && c.approved == "true"); if (theLinkRequester != null || theLinkRequested != null) { Models.Profile theClient = db.Profiles.SingleOrDefault(c => c.person_id == id); return(View("Details", theClient)); } Models.Profile theProfile = db.Profiles.SingleOrDefault(p => p.person_id == id); string error = theProfile.first_name + " " + theProfile.last_name + " is a private user and hasn't accepted your request."; return(RedirectToAction("AllUsers", "Friend", new { errorMessage = error })); }
public ActionResult FollowUser(int id) { int user_id = int.Parse(Session["user_id"].ToString()); Models.Profile theProfile = database.Profiles.SingleOrDefault(p => p.user_id == user_id); Models.FriendLink friend = new Models.FriendLink() { requester = theProfile.profile_id, requested = id, timestamp = DateTime.Now, status = "To Be Approved", read = 0, approved = 0 }; database.FriendLinks.Add(friend); database.SaveChanges(); return(RedirectToAction("Index", new { id = theProfile.profile_id })); }