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()); }