Beispiel #1
0
        public ActionResult EditUser()
        {
            DAL.Model.User           dbuser = DAL.Logic.UserManager.GetUserByEmail(User.Identity.Name);
            Web.Models.EditUserModel vmUser = new Models.EditUserModel();

            vmUser.Firstname    = dbuser.FirstName;
            vmUser.Lastname     = dbuser.LastName;
            vmUser.Gamertag     = dbuser.GamerTag;
            vmUser.Street       = dbuser.Street;
            vmUser.Streetnumber = dbuser.Streetnumber ?? -1;
            vmUser.PLZ          = dbuser.Post_Code;
            vmUser.City         = dbuser.City;

            return(View(vmUser));
        }
        public ActionResult UserDetails(int id, Models.EditUserModel model)
        {
            MembershipUser usr = Membership.GetUser(id);

            switch (model.submitButton)
            {
                case ("UnlockUser"):
                    {
                        bool flag = usr.UnlockUser();
                        TempData["message"] = "The requested user is unlocked now.";
                        return RedirectToAction("UserDetails", new { id = id });
                        break;
                    }

                case ("AdminReset"):
                    {
                        string newPass = "";
                        usr.UnlockUser();
                        Parichay.Security.NHibernateMembershipProvider nhm = (Parichay.Security.NHibernateMembershipProvider)Membership.Providers[((System.Web.Configuration.MembershipSection)System.Web.Configuration.WebConfigurationManager.GetSection("system.web/membership")).DefaultProvider];
                        //bool admValid = nhm.ValidateUser(model.admUsrName, model.admPass);
                        newPass = nhm.AdminResetPassword(usr.UserName);

                        TempData["message"] = "This User's password has been resetted now. The new password is : " + newPass + " .You can use this new password to update user's information.";
                        return RedirectToAction("UserDetails", new { id = id });
                        break;
                    }
                case ("Update"):
                    {
                        //usr.PasswordQuestion = model.passwordQuestion;
                        usr.IsApproved = model.userInfo.isApproved;
                        //usr.IsLockedOut = model.isLockedOut;
                        usr.Comment = model.userInfo.comments;
                        Membership.UpdateUser(usr);

                        TempData["message"] = "User's information is updated now. The new information is: <br/>Comments:" + model.userInfo.comments + "<br/>Approval Status:" + usr.IsApproved.ToString();

                        return RedirectToAction("UserDetails", new { id = id });
                        break;
                    }
                case ("ChangeUsersQuestionAndAnswer"):
                    {
                        if ((string.IsNullOrEmpty(model.userInfo.passwordQuestion)) && (!Membership.ValidateUser(usr.UserName, model.userInfo.passwordAnswer)))
                        {
                            TempData["message"] = "<b><span style='font-size:14px'>Blank or Incorrect User's Password was provided.</span><br/>Correct User's Password is required to update user's information. <b> Please use the Admin Reset User's Password button below to reset user's password.</b>";
                        }
                        else
                        {
                            bool flgPassQChange = usr.ChangePasswordQuestionAndAnswer(model.userInfo.password, model.userInfo.passwordQuestion, model.userInfo.passwordAnswer);
                            if (flgPassQChange)
                            {
                                TempData["message"] = "User's password question and answer is updated now. The new information is:<br/>Password Question:" + model.userInfo.passwordQuestion + "<br/>Password Answer:" + model.userInfo.passwordAnswer;
                            }
                            else
                            {
                                TempData["message"] = "Some Error has occured. Unable to update password question and answer.";
                            }
                        }

                        return RedirectToAction("UserDetails", new { id = id });
                        break;
                    }
                case ("Destroy"):
                    {
                        try
                        {
                            DestroyUser(usr);
                            string logMsg = string.Format("Super Admin UserId : {0} , IP Address : {1}  permanently deleted the complete user information for UserId: {2}.", LoggedInUserName, LoggedInUserIp, usr.UserName);
                            Data.Helper.NHibernateHelper.Log(logMsg, Data.Helper.NHibernateHelper.LogType.Warn);
                            TempData["message"] = "All the information related to the requested user has been deleted.";
                            return RedirectToAction("Users", "Admin");
                        }
                        catch (Exception exc)
                        {
                            TempData["message"] = "Unable to delete User. Error:" + exc.Message;
                        }

                        break;
                    }
                default:
                    {
                        TempData["message"] = "Unable to process your request.";
                        break;
                    }
            }

            model = new Models.EditUserModel() { userInfo = (new Models.UsersModel()).FromMembershipUser(usr) };
            model.userInfo.roles = Roles.GetRolesForUser(model.userInfo.name);
            model.allRoles = Roles.GetAllRoles();

            return View(model);
        }
        ////[Authorize(Roles = "Administrator")]
        //public ActionResult Users()
        //{
        //    int totalRecords = 0;
        //    //ViewBag["totalRecords"] = totalRecords;
        //    MembershipUserCollection uList = Membership.GetAllUsers(0, 10, out totalRecords);
        //    List<Models.UsersModel> dispList = new List<Models.UsersModel>();
        //    foreach (MembershipUser usr in uList)
        //    {
        //        dispList.Add(new Models.UsersModel().FromMembershipUser(usr));
        //    }
        //    return View(dispList);
        //}
        public ActionResult UserDetails(int id)
        {
            Models.EditUserModel model=new Models.EditUserModel();

                model.userInfo = (new Models.UsersModel()).FromMembershipUser(Membership.GetUser(id));
                model.userInfo.roles = Roles.GetRolesForUser(model.userInfo.name);

            model.allRoles = Roles.GetAllRoles();

            return View(model);
        }