public static async Task<UserAccounts> RegisterUser(ToracGolfContext dbContext, SignUpEnteredDataBase signUpModel) { //go either get the ref season record or add it var refSeasonRecord = await SeasonDataProvider.RefSeasonAddOrGet(dbContext, signUpModel.CurrentSeason).ConfigureAwait(false); //user to add var userToAdd = new UserAccounts { StateId = Convert.ToInt32(signUpModel.HomeState), CreatedDate = DateTime.Now, CurrentSeasonId = refSeasonRecord.SeasonId, EmailAddress = signUpModel.Email, FirstName = signUpModel.FirstName, LastName = signUpModel.LastName, Password = signUpModel.Password }; //go try to add the user dbContext.Users.Add(userToAdd); //go save the changes await dbContext.SaveChangesAsync().ConfigureAwait(false); //add the user season now await SeasonDataProvider.UserSeasonAdd(dbContext, userToAdd.UserId, refSeasonRecord).ConfigureAwait(false); //return the user now return await dbContext.Users.AsNoTracking().FirstAsync(x => x.UserId == userToAdd.UserId).ConfigureAwait(false); }
private async Task LogUserIn(UserAccounts userLogInAttempt) { //log the attemtp Logger.LogInformation("Log In Attempt: User = {0}", userLogInAttempt.EmailAddress); var claims = new List<Claim>(); claims.Add(new Claim(ClaimTypes.Hash, userLogInAttempt.UserId.ToString())); claims.Add(new Claim(ClaimTypes.Name, userLogInAttempt.FirstName + " " + userLogInAttempt.LastName)); claims.Add(new Claim(ClaimTypes.Email, userLogInAttempt.EmailAddress)); claims.Add(new Claim(ClaimTypes.StateOrProvince, userLogInAttempt.StateId.ToString())); claims.Add(new Claim(SecuritySettings.UserImageClaimUrl, CacheFactory.GetCacheItem<ImageFinder>(CacheKeyNames.UserImageFinder, Cache).FindImage(userLogInAttempt.UserId))); //claims.Add(new Claim(SecuritySettings.UserImageClaimUrl, "https://lh3.googleusercontent.com/--LDT0wSuaA8/AAAAAAAAAAI/AAAAAAAAAEU/jIcMb4MHAQE/s120-c/photo.jpg")); //sign the user in await HttpContext.Authentication.SignInAsync(SecuritySettings.SecurityType, new ClaimsPrincipal(new ClaimsIdentity(claims, SecuritySettings.SecurityType))); }