public async Task <ActionResult> CreateDemoUser() { //Create new demo account for user var newUser = new User { FirstName = "Guest", LastName = "User", DisplayPeriod = "Wages", IsDemoAccount = true, }; //Increment User Name so that all demo accounts have a unique User Name var demoUserID = 1; while (_context.Users.Any(user => user.UserName == "demo-user-" + demoUserID.ToString())) { demoUserID++; } //Assign unique User Name newUser.UserName = "******" + demoUserID.ToString(); //Hash standard password, could be updated to be a config var newUser.HashedPassword = new PasswordHasher <User>().HashPassword(newUser, "Welcome"); //Save Demo User _context.Users.Add(newUser); await _context.SaveChangesAsync(); //Generate demo data for demo user DemoDataManager.CreateDemoData(newUser.ID); //Generate and return JWT Token return(Ok(new { Token = CreateJWT(newUser), UserInfo = newUser })); }