public async Task <IActionResult> RegisterStoreUser([FromBody] APIStoreUser user, CancellationToken ct) { if (!ModelState.IsValid) { return(BadRequest(new { error = "Model state is not valid" })); } var storeUser = new StoreUserEntity { FirstName = user.FirstName, LastName = user.LastName, UserName = user.Email, Email = user.Email, }; var result = await _baseUserManager.CreateAsync(storeUser, user.Password); if (!result.Succeeded) { return(BadRequest(result.Errors)); } await _baseUserManager.AddToRoleAsync(storeUser, "Store"); //await _baseSignInManager.SignInAsync(storeUser, isPersistent: false); await _baseUserManager.UpdateAsync(storeUser); return(Ok(CreateToken(storeUser))); }
public async Task <Tuple <bool, string> > AddEntityAsync(APIStoreUser entity, CancellationToken ct) { try { if (await _dbContext.Users.FirstOrDefaultAsync(u => u.Email == entity.Email) == null) { StoreUserEntity newUser = new StoreUserEntity() { Email = entity.Email, UserName = entity.Email, PasswordHash = entity.Password, FirstName = entity.FirstName, LastName = entity.LastName, TimeOfCreation = DateTimeOffset.UtcNow }; await _dbContext.StoreUsers.AddAsync(newUser); await _dbContext.SaveChangesAsync(); return(Tuple.Create(true, "")); } else { return(Tuple.Create(false, $"Already have a user in database with that email {entity.Email}")); } } catch (Exception ex) { return(Tuple.Create(false, "Unable to add user"));; } }