public static string Create(ApplicationUserModel userModel) { using (ApplicationDbContext db = new ApplicationDbContext()) { ApplicationUserManager userManager = GetUserManager(); ApplicationUser newUser = new ApplicationUser() { UserName = userModel.UserName, Email = userModel.Email, CreateTime = DateTime.Now, CreatorUserName = userModel.CreatorUserName, CreatorId = userModel.CreatorId, UpdateTime = DateTime.Now, UpdaterUserName = userModel.UpdaterUserName, UpdaterId = userModel.UpdaterId }; var userPassword = String.IsNullOrEmpty(userModel.Password) ? "abc123" : userModel.Password; var result = userManager.Create(newUser, userPassword); if (result.Succeeded) { return newUser.Id; } else { return ""; } } }
public static void UpdateEmployee(ApplicationUserModel userModel) { using (ApplicationDbContext db = new ApplicationDbContext()) { var user = db.Users.FirstOrDefault(a => a.Id == userModel.Id); user.UserName = userModel.UserName; user.Email = userModel.Email; user.UpdateTime = DateTime.Now; user.UpdaterUserName = userModel.UpdaterUserName; user.UpdaterId = userModel.UpdaterId; db.SaveChanges(); } }
public static void Initialize() { using (ApplicationDbContext db = new ApplicationDbContext()) { var users = db.Users.Where(a=>a.DelLock == false).ToList(); foreach (var item in users) { ApplicationUserModel aa = new ApplicationUserModel(); aa.Id = item.Id; aa.UserName = item.UserName; aa.Email = item.Email; aa.UserProfile = item.UserProfile; aa.AuthOptions = item.AuthOptions; _UserCache.Add(aa); } } }
public void SeedManagerAccout() { ApplicationUserModel user1 = new ApplicationUserModel(); user1.Id = Guid.NewGuid().ToString(); user1.UserName = "******"; user1.Password = "******"; var userId = UserAccountManager.Create(user1); if (!String.IsNullOrWhiteSpace(userId)) { AuthOption aa = new AuthOption(); aa.AuthOption_Admin = true; using (ApplicationDbContext db=new ApplicationDbContext()) { var theUser = db.Users.FirstOrDefault(a => a.Id == userId); UserAccountManager.InsertOrUpdateAuthOption(theUser, aa); } } EmployeeUserModel emp1 = new EmployeeUserModel(); emp1.Id = Guid.NewGuid().ToString(); emp1.UserName = "******"; emp1.Password = "******"; emp1.EmployeeProfile_Name = "M"; var empId = UserAccountManager.CreateEmployee(emp1); if (!String.IsNullOrWhiteSpace(empId)) { AuthOption aa = new AuthOption(); aa.AuthOption_Admin = true; using (ApplicationDbContext db = new ApplicationDbContext()) { var theUser = db.Users.FirstOrDefault(a => a.Id == empId); UserAccountManager.InsertOrUpdateAuthOption(theUser, aa); } } }
public async Task<ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { ApplicationUserModel user = new ApplicationUserModel(); user.Id = Guid.NewGuid().ToString(); user.UserName = model.UserName; user.Email = model.Email; user.Password = model.Password; var userId = UserAccountManager.Create(user); if (!String.IsNullOrWhiteSpace(userId)) { AuthOption aa = new AuthOption(); aa.AuthOption_Admin = true; using (ApplicationDbContext db = new ApplicationDbContext()) { var theUser = db.Users.FirstOrDefault(a => a.Id == userId); UserAccountManager.InsertOrUpdateAuthOption(theUser, aa); } } if (!String.IsNullOrEmpty(userId)) { var theUser = UserAccountManager.GetUserIdentityByName(user.UserName); await SignInManager.SignInAsync(theUser, isPersistent: false, rememberBrowser: false); // 如需如何啟用帳戶確認和密碼重設的詳細資訊,請造訪 http://go.microsoft.com/fwlink/?LinkID=320771 // 傳送包含此連結的電子郵件 string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); await UserManager.SendEmailAsync(user.Id, "確認您的帳戶", "請按一下此連結確認您的帳戶 <a href=\"" + callbackUrl + "\">這裏</a>"); return RedirectToAction("Index", "Home"); } //AddErrors(result); } // 如果執行到這裡,發生某項失敗,則重新顯示表單 return View(model); }
public static void UpdatePassword(ApplicationUserModel userModel) { ApplicationUserManager userManager = GetUserManager(); userManager.RemovePassword(userModel.Id); userManager.AddPassword(userModel.Id, userModel.Password); return; }