コード例 #1
0
        private dynamic UserDelete(dynamic arg)
        {
            //User Information for Navigation
            var currentUser = (UserModel)Context.CurrentUser;

            var oldPassword = (string)Request.Form.OldPassword;

            var message = string.Empty;

            dynamic model = new ExpandoObject();

            model.Errored         = Request.Query.error.HasValue;
            model.RegisterErrored = Request.Query.repeatError.HasValue;

            model.Username    = currentUser.UserName;
            model.UserId      = currentUser.Id;
            model.UserIsAdmin = currentUser.IsAdmin;
            model.UserEmail   = currentUser.Email;
            model.Message     = message;

            if (oldPassword.CalculateMd5Hash() != currentUser.Password)
            {
                //error message
                message = "Wrong password";
            }
            else
            {
                if (!UserSetting.DeleteAccount(currentUser.Id))
                {
                    message = "Account could not be deleted";
                }
            }

            if (message == string.Empty)
            {
                //deletion successful -> redirect to the login page
                return(Context.GetRedirect("~/login"));
            }

            //deletion unsuccessful -> show the user view with the error message
            model.Message = message;
            return(View["user", model]);
        }
コード例 #2
0
        private dynamic AdminDelUser(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)
            {
                //delete user
                var UserToDelete = (int)Request.Form.DeleteUser;
                UserSetting.DeleteAccount(UserToDelete);
                //get all users
                model.AllUsers = UserSetting.All();
                //get all games
                model.AllGames = GamesSetting.GetAll();
                //permission
                model.permission = true;
                if (UserToDelete == currentUser.Id)
                {
                    model.permission = false;
                    return(Context.GetRedirect("~/logout"));
                }
            }
            else
            {
                model.permission = false;
            }
            return(View["admin", model]);
        }