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());
            }
        }