コード例 #1
0
        public async Task <ActionResult> Add([Bind(Include = "password,name,surname,role,username")] PersonnelView person)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Index", "Personnel", new { success = "failed" }));
            }

            UserStore <ApplicationUser>   userStore   = new UserStore <ApplicationUser>(db);
            UserManager <ApplicationUser> userManager = new UserManager <ApplicationUser>(userStore);

            ApplicationUser user = new ApplicationUser
            {
                Name     = person.Name,
                Surname  = person.Surname,
                Email    = "*****@*****.**",
                UserName = person.Username
            };

            var result = await userManager.CreateAsync(user, person.Password);

            if (!result.Succeeded)
            {
                return(RedirectToAction("Index", "Personnel", new { success = "failed" }));
            }

            userManager.AddToRole(user.Id, person.Role);
            return(RedirectToAction("Index", "Personnel", new { success = "ok" }));
        }
コード例 #2
0
 public NavigationModel(ContentWindow contentWindow)
 {
     _contentWindow  = contentWindow;
     _mainView       = new MainView();
     _settingsView   = new SettingsView();
     _bookingView    = new BookingView();
     _payView        = new PayView();
     _reportView     = new ReportView();
     _addBookingView = new AddBookingView();
     _clientView     = new ClientView();
     _personnelView  = new PersonnelView();
 }
コード例 #3
0
        public ActionResult Update(string id, [Bind(Include = "password,name,surname,role,username, color, employee_type")] PersonnelView person)
        {
            id = id.Trim();
            UserStore <ApplicationUser>   userStore   = new UserStore <ApplicationUser>(db);
            UserManager <ApplicationUser> userManager = new UserManager <ApplicationUser>(userStore);

            ApplicationUser user = userManager.FindById(id.Trim());

            if (user == null)
            {
                return(RedirectToAction("Detail", new RouteValueDictionary(new { controller = "Personnel", action = "Detail", Id = id, success = "failed" })));
            }

            user.Name          = person.Name;
            user.Surname       = person.Surname;
            user.UserName      = person.Username;
            user.color         = person.color;
            user.employee_type = person.employee_type;

            string role_id   = user.Roles.SingleOrDefault().RoleId;
            string role_name = db.Roles.SingleOrDefault(r => r.Id == role_id).Name;

            if (role_name.ToLower().Trim() != person.Role.ToLower().Trim())
            {
                userManager.RemoveFromRole(user.Id, role_name);
                userManager.AddToRole(user.Id, person.Role);
            }


            if (!String.IsNullOrEmpty(person.Password))
            {
                user.PasswordHash = userManager.PasswordHasher.HashPassword(person.Password);
            }

            var result = userManager.Update(user);

            if (!result.Succeeded)
            {
                return(RedirectToAction("Detail", new RouteValueDictionary(new { controller = "Personnel", action = "Detail", Id = id, success = "failed" })));
            }


            return(RedirectToAction("Detail", new RouteValueDictionary(new { controller = "Personnel", action = "Detail", Id = id, success = "ok" })));
        }
コード例 #4
0
 public PersonnelViewModel(PersonnelView view)
 {
     this.view = view;
 }