private dynamic AdminState(dynamic arg) { //refresh view dynamic model = new ExpandoObject(); model.Errored = Request.Query.error.HasValue; model.RegisterErrored = Request.Query.repeatError.HasValue; //User Information for Navigation var currentUser = (UserModel)Context.CurrentUser; model.Username = currentUser.UserName; model.UserId = currentUser.Id; model.UserIsAdmin = currentUser.IsAdmin; model.UserEmail = currentUser.Email; //has the user admin rights? if (currentUser.IsAdmin) { // change admin state var uidUserToChange = (int)Request.Form.chAdmStateUid; UserSetting.ChangeAdminState(uidUserToChange, currentUser.Id); //get all users model.AllUsers = UserSetting.All(); //get all games model.AllGames = GamesSetting.GetAll(); //permission model.permission = true; if (currentUser.Id == uidUserToChange) { //affected account is the user himself model.permission = false; currentUser.IsAdmin = false; } } else { model.permission = false; } return(View["admin", model]); }