public Task <IEnumerable <Consent> > LoadAllAsync(string subject) { Preconditions.IsShortString(subject, nameof(subject)); return(_conn.ExecuteCommand(_loadAllQuery, async cmd => { cmd.Parameters.AddWithValue("subject", subject); var consentList = new List <Consent>(); using (var reader = await cmd.ExecuteReaderAsync()) { var hasMoreRowsTask = reader.ReadAsync(); while (await hasMoreRowsTask) { var row = ConsentRow.Read(reader); hasMoreRowsTask = reader.ReadAsync(); consentList.Add(row.ToConsent()); } } return (IEnumerable <Consent>)consentList; })); }
public Task <Consent> LoadAsync(string subject, string client) { Preconditions.IsShortString(subject, nameof(subject)); Preconditions.IsShortString(client, nameof(client)); return(_conn.ExecuteCommand(_loadQuery, async cmd => { cmd.Parameters.AddWithValue("@subject", subject); cmd.Parameters.AddWithValue("@client", client); Consent consent; using (var reader = await cmd.ExecuteReaderAsync()) { if (await reader.ReadAsync()) { var row = ConsentRow.Read(reader); consent = row.ToConsent(); } else { consent = null; } } return consent; })); }