public ActionResult RemoveFriend(int friendId) { var service = new Service(); User user = service.GetUser(User.Identity.Name); User friend = service.GetUser(friendId); User parameter = null; if (service.IsFriendsWith(user.UserID, friendId)) { TempData["message"] = new Message("You are no longer friends with " + friend.DisplayName, MessageType.SUCCESS); if (service.RemoveFriend(user.UserID, friendId)) { parameter = friend; } } else if (service.FriendRequestExists(user.UserID, friendId)) { if (service.FriendRequestCancel(user.UserID, friendId)) { parameter = friend; } TempData["message"] = new Message("Friend request to " + friend.DisplayName + " has been cancelled", MessageType.SUCCESS); } else { if (friend != null) { TempData["message"] = new Message("You are not friends with " + friend.DisplayName, MessageType.ERROR); } else { TempData["message"] = new Message("User could not be found", MessageType.ERROR); } } if (Request.IsAjaxRequest()) { return Json(new { friend = parameter, message = TempData["message"] as Message }, JsonRequestBehavior.AllowGet); } return RedirectToAction("Index"); }