Exemplo n.º 1
0
        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]);
        }