public async Task <ActionResult> Post([FromBody] LoginData loginData)
        {
            if (loginData == null || loginData.password == null || loginData.username == null)
            {
                Response.StatusCode = 400;
                return(Content("Bad request. Please go to the main page and try again."));
            }

            loginData.password = Crypto.SHA256(loginData.password);

            if (_context.CheckCorrectUser(loginData))
            {
                Session["m_user"]     = loginData.username;
                Session["m_password"] = loginData.password;

                Response.StatusCode = 200;
                return(Json(new UserPrefs()
                {
                    name = _context.GetFirstNameForUsername(loginData.username),
                    url = _context.GetUrlForUser(loginData.username)
                }));
            }
            else
            {
                Response.StatusCode = 400;
                return(Content($"Login invalid {{user: {loginData.username}}}"));
            }
        }
        private ActionResult GetInfo()
        {
            string username     = Session["m_user"].ToString();
            string usedUsername = username;

            if (_context.UserIsAdmin(username) && Session["m_view_username"] != null)
            {
                usedUsername = Session["m_view_username"].ToString();
            }

            Response.StatusCode = 200;
            return(Json(new UserInfo()
            {
                name = _context.GetFirstNameForUsername(username),
                isAdmin = _context.UserIsAdmin(username),
                years = _context.GetYearsForUser(usedUsername)
            }, JsonRequestBehavior.AllowGet));
        }