I have a list of reports page. I have a download button for each report. If I click 4-5 reports download button I only get the last one downloaded. Below you can see my code
public async Task<ActionResult> Download(ReportPage currentPage, string id)
{
    var token = RystadIdentity.Current.AuthenticatedUser.Token;
    try
    {
        DocumentRequestInput documentRequestInput = new DocumentRequestInput(int.Parse(id), 2);
        documentRequestInput.Add(token);
    }
    catch
    { }
    Report report = await RystadGlobal.api.GetReport(token, int.Parse(id));
    string ext = Path.GetExtension(report.fileName);
    byte[] byteArray = await RystadGlobal.api.DownloadReport(token, report.Id);
    if (ext.ToLower() == ".pdf")
    {
        var name = RystadIdentity.Current.AuthenticatedUser.UserInfo.name;
        var company = RystadIdentity.Current.AuthenticatedUser.UserInfo.company;
        try
        {
            byteArray = PdfWatermarker.Watermark(byteArray, name, company);
        }
        catch (Exception ex)
        {
            //Ignore if failed and give the user the pdf anyway
        }
    }
    return File(byteArray, System.Net.Mime.MediaTypeNames.Application.Octet, report.fileName);
}
public async Task<byte[]> DownloadReport(Token token, int reportId)
{
    clientForDownloading.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(token.token_type, token.access_token);
    var result = await clientForDownloading.GetAsync("api/" + ApiVersion + "/LibraryDocument/" + reportId + "/download");
    if (!result.IsSuccessStatusCode)
        throw new ApiException("Could not download the report");
    var contentBytes = await result.Content.ReadAsByteArrayAsync();
    return SevenZipHelper.Decompress(contentBytes);
}
public async Task<Report> GetReport(Token token, int reportId)
{
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(token.token_type, token.access_token);
    var result = await client.GetAsync("api/" + ApiVersion + "/LibraryDocument/" + reportId);
    if (!result.IsSuccessStatusCode)
        throw new ApiException("Could not get report");
    Report report = await result.Content.ReadAsAsync<Report>();
    return report;
}   
Does anyone see the issue which I am missing?
 
     
    