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]); }
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]); }