public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { //var user = new WFPUser { UserName = model.UserName, Email = model.Email }; //var UserManager = new UserManager<Data.Entities.WFPUser>(new UserStore<Data.Entities.WFPUser>(context)); var appUser = new WFPUser { Id = Guid.NewGuid().ToString(), CreatedAt = DateTime.Now, UserName = model.UserName, Email = model.Email, Status = (int)UserStatusEnum.Active, UserType = model.IsAdminUser ? (int)UserTypeEnum.Admin: (int)UserTypeEnum.Employee, }; var result = UserManager.CreateAsync(appUser, model.Password); if (result.Result == IdentityResult.Success) { return(RedirectToAction("Users", "Home")); } AddErrors(result.Result); } // If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult SaveUser(CompanyUsersVm model) { try { var user = UserManager.FindById(model.Id.ToString()); switch (model.ActionToTake) { case "lock": if (user.Status == (int)UserStatusEnum.Active) { user.Status = (int)UserStatusEnum.Locked; user.LockoutEndDateUtc = new DateTime(9999, 12, 30); bool a = UserManager.IsLockedOut(user.Id); } else if (user.Status == (int)UserStatusEnum.Locked) { user.Status = (int)UserStatusEnum.Active; user.LockoutEndDateUtc = null; bool a = UserManager.IsLockedOut(user.Id); } break; case "password": if (!string.IsNullOrEmpty(model.Password)) { string resetToken = UserManager.GeneratePasswordResetToken(user.Id); IdentityResult passwordChangeResult = UserManager.ResetPassword(user.Id, resetToken, model.Password); if (passwordChangeResult != IdentityResult.Success) { throw new Exception(passwordChangeResult.Errors.FirstOrDefault()); } } break; case "create": var newUser = new WFPUser() { Id = Guid.NewGuid().ToString(), CreatedAt = DateTime.Now, UserName = model.Name.Trim(), Email = model.Name.Trim() + "@wfp.org", FirstName = model.FirstName, LastName = model.LastName, }; var result = UserManager.CreateAsync(newUser, model.Password); if (result.Result != IdentityResult.Success) { throw new Exception("There is an error while creating user." + result.Result.Errors.FirstOrDefault()); } break; case "delete": UserManager.Delete(user); break; } Db.SaveChanges(); return(Json(new JsonResponse() { IsSucess = true }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new JsonResponse() { IsSucess = false, ErrorMessage = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public static void Seed(WFPICTContext context) { // Permissions foreach (var permission in SecurityConstants.ClaimsAll) { context.Claims.Add(new AspNetClaims() { Id = Guid.NewGuid(), CreatedAt = DateTime.Now, ClaimType = permission.Contains(PermissionType.Order.ToLower()) ? PermissionType.Order : PermissionType.Permission, ClaimValue = permission }); } context.SaveChanges(); // Roles var RoleManager = new RoleManager <WFPRole>(new RoleStore <WFPRole>(context)); if (!RoleManager.RoleExists(SecurityConstants.RoleAdmin)) { RoleManager.Create(new WFPRole(SecurityConstants.RoleAdmin, false, false, "Admin Role")); AddClaims(context, RoleManager, SecurityConstants.RoleAdmin, SecurityConstants.ClaimsAdmin); } if (!RoleManager.RoleExists(SecurityConstants.RoleEmployee)) { RoleManager.Create(new WFPRole(SecurityConstants.RoleEmployee, false, false, "Employee Role")); AddClaims(context, RoleManager, SecurityConstants.RoleEmployee, SecurityConstants.ClaimsAdmin); } if (!RoleManager.RoleExists(SecurityConstants.RolePrivate)) { RoleManager.Create(new WFPRole(SecurityConstants.RolePrivate, false, false, "Private Role")); AddClaims(context, RoleManager, SecurityConstants.RolePrivate, SecurityConstants.ClaimsDefault); } if (!RoleManager.RoleExists(SecurityConstants.RoleDealer)) { RoleManager.Create(new WFPRole(SecurityConstants.RoleDealer, false, false, "Dealer Role")); AddClaims(context, RoleManager, SecurityConstants.RoleDealer, SecurityConstants.ClaimsDefault); } if (!RoleManager.RoleExists(SecurityConstants.RoleManufacturer)) { RoleManager.Create(new WFPRole(SecurityConstants.RoleManufacturer, false, false, "Manufacturer Role")); AddClaims(context, RoleManager, SecurityConstants.RoleManufacturer, SecurityConstants.ClaimsDefault); } var UserManager = new UserManager <WFPUser>(new UserStore <WFPUser>(context)); var alreadyAdminUser = UserManager.FindByName(SecurityConstants.UserAdmin); if (alreadyAdminUser == null) { var adminUser = new WFPUser() { Id = Guid.NewGuid().ToString(), UserName = SecurityConstants.UserAdmin, Email = "*****@*****.**", FirstName = "Admin", LastName = "User", CreatedAt = DateTime.Now }; var result = UserManager.CreateAsync(adminUser, SecurityConstants.UserAdminPassword); if (result.Result == IdentityResult.Success) { var result1 = UserManager.AddToRole(adminUser.Id, SecurityConstants.RoleAdmin); } } var alreadyTestUser = UserManager.FindByName(SecurityConstants.TestEmployeeUser); if (alreadyTestUser == null) { var user = new WFPUser() { Id = Guid.NewGuid().ToString(), UserName = SecurityConstants.TestEmployeeUser, Email = "*****@*****.**", FirstName = "Test", LastName = "User", CreatedAt = DateTime.Now }; var result = UserManager.CreateAsync(user, SecurityConstants.UserAdminPassword); if (result.Result == IdentityResult.Success) { var result1 = UserManager.AddToRole(user.Id, SecurityConstants.RolePrivate); } } }