public async Task <ActionResult> DeclineFriend(string username) { var loggedUser = await GetLoggedUser(); var userToDecline = await UserFacade.GetUserByUsernameAsync(username); if (loggedUser == null) { RedirectToLogin(); } if (userToDecline == null) { ModelState.AddModelError("User", "User does not exist!"); return(View()); } var friendshipToDecline = await UserFacade.GetFriendshipRequestBetweenUsers(loggedUser.Id, userToDecline.Id); if (friendshipToDecline == null || friendshipToDecline.IsConfirmed) { ModelState.AddModelError("User", "Cannot decline friendship with this user!"); return(View()); } try { string url = Request.UrlReferrer.AbsoluteUri; await UserFacade.CancelFriendshipRequest(friendshipToDecline); return(Redirect(url)); } catch (Exception) { ModelState.AddModelError("User", "Cannot decline friendship with this user"); return(View()); } }