public async Task <PreflightResources> GetResourcesByUniversalIdsAsync(ResourceRefs refs) { using (var cn = new SqlConnection(opts.ConnectionString)) { await cn.OpenAsync(); var quids = refs.Queries.Select(q => q.UniversalId.ToString()).ToHashSet(); var cuids = refs.Concepts.Select(q => q.UniversalId.ToString()).ToHashSet(); var grid = await cn.QueryMultipleAsync( ResourcePreflightSql.byUIds, new { quids = ResourceUniversalIdTable.From(quids), cuids = ResourceUniversalIdTable.From(cuids), user = user.UUID, groups = GroupMembership.From(user), sessionType = user.SessionType, admin = user.IsAdmin }, commandTimeout : opts.DefaultTimeout, commandType : CommandType.StoredProcedure ); return(PreflightReader.ReadResourcesByUId(grid, refs.Queries)); } }
async Task <PreflightConcepts> GetByUIdsAsync(SqlConnection cn, HashSet <string> conceptUids) { var grid = await cn.QueryMultipleAsync( ConceptPreflightSql.manyUIds, new { uids = ResourceUniversalIdTable.From(conceptUids), user = user.UUID, groups = GroupMembership.From(user), admin = user.IsAdmin }, commandTimeout : opts.DefaultTimeout, commandType : CommandType.StoredProcedure ); return(PreflightReader.ReadConcepts(grid)); }
public async Task <IEnumerable <Concept> > GetAsync(HashSet <string> universalIds) { using (var cn = new SqlConnection(opts.ConnectionString)) { await cn.OpenAsync(); var grid = await cn.QueryMultipleAsync( queryManyUniversal, new { uids = ResourceUniversalIdTable.From(universalIds), user = user.UUID, groups = GroupMembership.From(user), admin = user.IsAdmin }, commandTimeout : opts.DefaultTimeout, commandType : CommandType.StoredProcedure ); return(HydratedConceptReader.Read(grid)); } }
public async Task <PreflightConcepts> GetConceptsByUniversalIdsAsync(HashSet <string> conceptUids) { using (var cn = new SqlConnection(opts.ConnectionString)) { await cn.OpenAsync(); var grid = await cn.QueryMultipleAsync( ConceptPreflightSql.manyUIds, new { uids = ResourceUniversalIdTable.From(conceptUids), user = user.UUID, groups = GroupMembership.From(user), admin = user.IsAdmin, sessionType = user.SessionType }, commandTimeout : opts.DefaultTimeout, commandType : CommandType.StoredProcedure ); return(PreflightReader.ReadConcepts(grid)); } }