public async Task <Module.SearchResult> ExecuteAsync(CancellationToken cancellationToken = default) { var model = Model; var result = new Module.SearchResult(); using var connection = await OpenConnectionAsync(cancellationToken); await _commandProvider.ExecuteAsync(model, result, connection, cancellationToken); return(result); }
public async Task ExecuteAsync(Module.SearchModel model, Module.SearchResult result, SqlConnection connection, CancellationToken cancellationToken = default) { using var command = Get(model, connection); using var reader = await command.ExecuteReaderAsync(cancellationToken); if (reader.HasRows) { while (await reader.ReadAsync(cancellationToken)) { result.Modules.Add(_readerConverter.Convert(reader)); } } result.TotalCount = await ReadTotalCountAsync(reader, cancellationToken); }