Exemplo n.º 1
0
        public void add(addUserModel model, [FromServices] IOptions <WebSetting> settings)
        {
            if (ModelState.IsValid)
            {
                var u = _context.PlayUser.SingleOrDefault(t => t.Username == model.username);
                if (u != null)
                {
                    return;           //已经存在用户不让注册
                }
                var newUser = new PlayUser();
                newUser.Username = model.username;
                newUser.Name     = model.name;
                newUser.Password = settings.Value.DefultPassword;
                newUser.Lv       = model.lv;
                newUser.JoinDate = DateTime.Now;
                _context.PlayUser.Add(newUser);
                ////为新增用户添加adminSpace
                //if(settings.Value.DefultUseAdminSpace)
                //{
                //    //ef core 目前不支持 LazyLoading ,只能自己查询
                //    var adminUser = _context.PlayUser.First(t => t.Lv == 99);
                //    var sps = _context.TestSpace.Where(t => t.UserId == adminUser.Id);

                //    foreach (var s in sps)
                //    {
                //        TestSpaceMap tsm = new TestSpaceMap();
                //        tsm.UserId = newUser.Id;
                //        tsm.SpaceId = s.Id;
                //        _context.TestSpaceMap.Add(tsm);
                //    }
                //}

                _context.SaveChanges();
            }
            else
            {
                Response.StatusCode = 400;
            }
        }
        public async Task <IActionResult> AddUser(int id, [FromServices] IServiceProvider serviceProvider, addUserModel users)
        {
            var UserManager = serviceProvider.GetRequiredService <UserManager <IdentityUser> >();
            //Assign Admin role to the main User here we have given our newly registered
            //login id for Admin management
            IdentityUser user = new IdentityUser();

            user = await UserManager.FindByEmailAsync(users.Email);

            if (user == null)
            {
                ModelState.AddModelError(string.Empty, "Invalid user email.");
                return(View());
            }


            UserWebsites userWebsites = new UserWebsites();

            userWebsites.UserEmail = users.Email;
            userWebsites.WebsiteId = id;
            _context.Add(userWebsites);
            await UserManager.AddToRoleAsync(user, users.RoleName);

            await _context.SaveChangesAsync();

            return(View());
        }