public async Task <ActionResult> DownloadProducerDetailsCsv(int complianceYear, Guid?schemeId, Guid?authorityId, bool includeRemovedProducers, bool includeBrandNames) { var fileName = new StringBuilder(); fileName.AppendFormat("{0:D4}", complianceYear); if (schemeId != null) { using (var client = apiClient()) { var requestScheme = new GetSchemeById(schemeId.Value); var scheme = await client.SendAsync(User.GetAccessToken(), requestScheme); fileName.AppendFormat("_{0}", scheme.ApprovalName); } } if (authorityId != null) { using (var client = apiClient()) { var requestAuthority = new GetUKCompetentAuthorityById(authorityId.Value); var authorityData = await client.SendAsync(User.GetAccessToken(), requestAuthority); fileName.AppendFormat("_{0}", authorityData.Abbreviation); } } fileName.AppendFormat("_producerdetails_{0:ddMMyyyy_HHmm}.csv", SystemTime.UtcNow); CSVFileData membersDetailsCsvData; using (var client = apiClient()) { var request = new GetMemberDetailsCsv(complianceYear, includeRemovedProducers, schemeId, authorityId, includeBrandNames); membersDetailsCsvData = await client.SendAsync(User.GetAccessToken(), request); } var data = new UTF8Encoding().GetBytes(membersDetailsCsvData.FileContent); return(File(data, "text/csv", CsvFilenameFormat.FormatFileName(fileName.ToString()))); }
public async Task<ActionResult> DownloadProducerDetailsCsv(int complianceYear, Guid? schemeId, Guid? authorityId, bool includeRemovedProducers, bool includeBrandNames) { StringBuilder fileName = new StringBuilder(); fileName.AppendFormat("{0:D4}", complianceYear); if (schemeId != null) { using (IWeeeClient client = apiClient()) { GetSchemeById requestScheme = new GetSchemeById(schemeId.Value); SchemeData scheme = await client.SendAsync(User.GetAccessToken(), requestScheme); fileName.AppendFormat("_{0}", scheme.ApprovalName); } } if (authorityId != null) { using (IWeeeClient client = apiClient()) { GetUKCompetentAuthorityById requestAuthority = new GetUKCompetentAuthorityById(authorityId.Value); UKCompetentAuthorityData authorityData = await client.SendAsync(User.GetAccessToken(), requestAuthority); fileName.AppendFormat("_{0}", authorityData.Abbreviation); } } fileName.AppendFormat("_producerdetails_{0:ddMMyyyy_HHmm}.csv", SystemTime.UtcNow); CSVFileData membersDetailsCsvData; using (IWeeeClient client = apiClient()) { GetMemberDetailsCsv request = new GetMemberDetailsCsv(complianceYear, includeRemovedProducers, schemeId, authorityId, includeBrandNames); membersDetailsCsvData = await client.SendAsync(User.GetAccessToken(), request); } byte[] data = new UTF8Encoding().GetBytes(membersDetailsCsvData.FileContent); return File(data, "text/csv", CsvFilenameFormat.FormatFileName(fileName.ToString())); }