public async Task <ActionResult> AddFriend(string username) { var loggedUser = await GetLoggedUser(); var friendToAdd = await UserFacade.GetUserByUsernameAsync(username); if (loggedUser == null) { RedirectToLogin(); } if (friendToAdd == null) { ModelState.AddModelError("User", "User does not exist!"); return(View()); } if (!await UserFacade.CanSendFriendshipRequest(loggedUser, friendToAdd)) { ModelState.AddModelError("User", "Cannot send friendship request to this user!"); return(View()); } try { string url = Request.UrlReferrer.AbsoluteUri; await UserFacade.SendFriendshipRequest(loggedUser, friendToAdd); return(Redirect(url)); } catch (Exception) { ModelState.AddModelError("User", "Cannot send friendship request to this user!"); return(View()); } }