/// <inheritdoc /> public override async Task Export(long studyId, Func <TextWriter> createOutput) { var agencyInfo = await ApiClient.GetAgencyIdentifiersAndFieldNamesMetadataAsync(AgencyName); Logger.LogInformation("Writing fields {@fields}", agencyInfo.Agency.Fields); var subjects = await ApiClient.GetConsentedSubjectsForStudyAsync(studyId); var details = await Task.WhenAll( subjects.Select( GetDetailsForPerson)); new AgencySubjectWriter(createOutput) .Write( agencyInfo.Identifiers, FieldNameList.Split(agencyInfo.Agency.Fields), details.Select(_ => new AgencyPersonDtoWrapper(_))); }
public FieldsCsvExporter(IApi apiClient, string[] fieldNames) { this.fieldNames = FieldNameList.Split(fieldNames); ApiClient = apiClient; }