示例#1
0
        public async Task <IActionResult> Register(RegisterModel model)
        {
            if (model.Login != null && model.Password == model.ConfirmPassword &&
                model.Password != null && model.Role != null)
            {
                _users = await _context.GetUsers();

                User user = _users.FirstOrDefault(u => u.Login == model.Login);
                if (user == null)
                {
                    user = new User()
                    {
                        Login = model.Login, Password = model.Password,
                        Role  = model.Role
                    };
                    await _context.AddUser(user);
                    await Authenticate(user);

                    if (user.Role == "teacher")
                    {
                        return(RedirectToAction("TeacherMainPage", "StudentTeacher"));
                    }
                    return(RedirectToAction("Index", "Home"));
                }
            }

            return(View(model));
        }
        public static async Task <ApplicationUser> SyncUser(this AdUser adUser, ApplicationContext db)
        {
            var user = await db
                       .ApplicationUsers
                       .FirstOrDefaultAsync(x => x.Guid == adUser.Guid);

            user = user == null ?
                   await db.AddUser(adUser) :
                   await db.UpdateUser(adUser);

            return(user);
        }