public async Task <List <Document> > Get(string token) { //await LoadCookie(username, password); //string cookie = "epres-usr-107=" + credentials.AccessToken; //string cookie = "epres-usr-107=eyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImVwcmVzLXVzciJ9.eyJyb2wiOiJ1c2VyIiwiY2xpIjoiMTA3IiwiY2xpX2x2MiI6IjEwNyIsInVzZXJfaWQiOiJmYzY3MDBlYi1hNzQwLWViMTEtYTJmOC0wMDUwNTZiODE1MjIiLCJudW0iOiIyMjIyMjIyMjIyIiwiYW1yIjoiRFNPIiwidXNyIjoiMjIyMjIyMjIyMiIsIm5iZiI6MTYwOTg5NTkxMiwiZXhwIjoxNjA5OTgyMzEyLCJpc3MiOiJlcHJlcy11c3IiLCJhdWQiOiJlcHJlcy1jdXN0b21lci1wb3J0YWwiLCJqdGkiOjEwMTk0MX0.u6WBEgQZJAi-Ht9wg9cK4l2AAbjdee-Ddvp12L4GJwA"; await LoadDocuments(token); List <Task <(string, byte[])> > listOfTasks = new List <Task <(string, byte[])> >(); Dictionary <string, byte[]> fileNameContent = new Dictionary <string, byte[]>(); foreach (Document document in documentlist) { //listOfTasks.Add(fileNameContent.Add((fileName, fileContent) => ( //{ // (fileName, fileContent) = DocumentPocProcessor.LoadPdf(token, document) //} //)); listOfTasks.Add(DocumentPocProcessor.LoadPdf(token, document)); } Console.WriteLine("Done with LoadPDF"); foreach (Task <(string, byte[])> task in listOfTasks) { (string _file, byte[] _content) = await task; fileNameContent.Add(_file, _content); } //await Task.WhenAll(listOfTasks); DocumentPocProcessor.ZipFiles(fileNameContent); return(documentlist); }
public async Task <List <SourceDocument> > Get(int DegreeOfParallelism = 1) { //string jsonFile = @"C:\Users\TB1440\source\repos\WebApplication\TestWebApplication\DataStore\Documents.json"; //var json = File.ReadAllText(jsonFile); var json = JArray.Parse(File.ReadAllText(@"C:\Users\TB1440\source\repos\WebApplication\TestWebApplication\DataStore\Documents1000.json")); var serializer = new JsonSerializer(); List <SourceDocument> docList = serializer.Deserialize <List <SourceDocument> >(new JTokenReader(json)); List <Task <(string, byte[])> > listOfTasks = new List <Task <(string, byte[])> >(); var throttler = new SemaphoreSlim(initialCount: DegreeOfParallelism); Dictionary <string, byte[]> fileNameContent = new Dictionary <string, byte[]>(); foreach (SourceDocument document in docList) { await throttler.WaitAsync(); listOfTasks.Add(DocumentPocProcessor.LoadPdfFromSource(document, throttler)); } int _cnt = 0; foreach (Task <(string, byte[])> task in listOfTasks) { (string _file, byte[] _content) = await task; fileNameContent.Add((_cnt++) + "_" + _file, _content); //fileNameContent.Add(_file, _content); } //await Task.WhenAll(listOfTasks); DocumentPocProcessor.ZipFiles(fileNameContent); return(docList); }
//private async Task LoadPdf(string token) //{ // Parallel.ForEach(documentlist, (document) => // { // DocumentPocProcessor.LoadPdf(token, document); // }); //} private async Task LoadDocuments(string cookie) { documentlist = await DocumentPocProcessor.LoadDocuments(cookie); }
private async Task LoadCookie(string username, string password) { cookie = await DocumentPocProcessor.LoadCookie(username, password); }