public async Task <double> GetTraitScore(IUser user, BdsmTrait trait) { using var dbContext = DatabaseFactory.Create(); var userTrait = (await dbContext.BdsmTestOrgResults .Include(r => r.Items) .OrderByDescending(r => r.SubmittedAt) .FirstOrDefaultAsync(r => r.UserId == user.Id))? .Items .Find(i => i.Trait == trait); return(userTrait?.Score ?? 0); }
public async Task <bool> HasStrongTrait(IUser user, BdsmTrait trait) => (await GetTraitScore(user, trait)) >= StrongTraitThreshold;