Esempio n. 1
0
        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 "";
                }

            }
        }
Esempio n. 2
0
        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();
            }
        }
Esempio n. 3
0
        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);
                }
            }
        }
Esempio n. 4
0
        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);
                }
            }
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        public static void UpdatePassword(ApplicationUserModel userModel)
        {
            ApplicationUserManager userManager = GetUserManager();
            userManager.RemovePassword(userModel.Id);
            userManager.AddPassword(userModel.Id, userModel.Password);

            return;
        }