public static async Task <AdministratorDTO> GetAdministrator(this HttpContextBase context) { var user = default(AdministratorDTO); if (HttpContext.Current.Request.IsAuthenticated) { user = context.Session[KEY_LOGGEDIN_ADMINI] as AdministratorDTO; if (user == null) { user = await context.PostAsync <AdministratorDTO>(context.GetAPIAddress("/api/console/Administrator/GetAdministrator"), new { adminId = HttpContext.Current.User.Identity.Name.As <int>() }); context.Session[KEY_LOGGEDIN_ADMINI] = user; } } return(user); }