/// <summary> /// 创建新用户 /// </summary> /// <param name="data">用户数据</param> /// <returns>新用户ID</returns> public async Task <int> CreateUserAsync([NotNull] PureUserData data) { UserCreateRequest request = new UserCreateRequest { Connection = configuration.GetAuth0Config(ConfigurationKeyConstants.Auth0Connection), Email = data.Email, PhoneNumber = data.PhoneNumber }; User user = await userClient.CreateAsync(request); if (user == null) { return(-1); } int nextId = dataContext.UserDatas.Select((data) => data.ID).Max() + 1; // 获取可用身份列表 Role[] availableRoles = await roleGetter.GetAvailableRoles(); // 去除重复项与不在身份列表内的项 string[] roles = data.Role.Split(' ').Distinct() .Where((name) => availableRoles.Any((role) => role.Name == name)).ToArray(); await userClient.AssignRolesAsync(user.UserId, new AssignRolesRequest { Roles = roles }); data.Role = roles.Aggregate((r1, r2) => r1 + ' ' + r2); dataContext.Add <UserData>(data.ToUserData(nextId, user.UserId)); dataContext.SaveChanges(); return(nextId); }
public IActionResult Post([FromBody] UserData udata) { var userData = _userDataContext.Add(udata).Entity; _userDataContext.SaveChanges(); if (userData != null && userData.Id > 0) { return(Ok(userData.Id)); } return(BadRequest()); }
public async Task <IActionResult> Create([Bind("Id,Username,Email,SocialSecurityNumber,Password")] Account account) { if (ModelState.IsValid) { _context.Add(account); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(account)); }
public async Task <IActionResult> Signup([FromBody] Login val) { UserDataContext userDatadb = new UserDataContext(); UserNContext userNamedb = new UserNContext(); PassContext passworddb = new PassContext(); //At this stage we have no userData besides the ID //Creating this object automatically generates an ID UserDataDB userData = new UserDataDB(); //Create new username and password database entries with the same key UserNDB userName = new UserNDB(userData.UserId); userName.Email = val.email; userName.UserName = val.username; PassDB password = new PassDB(userData.UserId); password.Password = val.password; userDatadb.Add(userData); userNamedb.Add(userName); passworddb.Add(password); //update the databases try { userDatadb.SaveChanges(); userNamedb.SaveChanges(); passworddb.SaveChanges(); } catch (DbUpdateException) { return(StatusCode(StatusCodes.Status500InternalServerError)); } return(Ok(200)); //string newUser = JsonSerializer.Serialize(val); //bool complete = await be.incomming(1, 3, newUser); //bool complete = true; //if (complete) //{ // return Ok(200); //} //return BadRequest(400); }