private async Task <LoadAnswer> ProcessLoadRequest(LoadRequest loadRequest) { LoadAnswer loadAnswer = new LoadAnswer(); ExtractRequest extractRequest = new ExtractRequest(loadRequest.InitialYear, loadRequest.FinalYear); if (loadRequest.LoadFromDBLP) { (int numberOfResults, List <string> errorList) = await LoadFromSource( "DBLP", loadRequest, extractRequest, requestsManager.LoadDataFromDBLP, dBLPExtractor.ExtractData); loadAnswer.DBLPNumberOfResults = numberOfResults; loadAnswer.DBLPErrors = errorList; } if (loadRequest.LoadFromIEEEXplore) { (int numberOfResults, List <string> errorList) = await LoadFromSource( "IEEEXplore", loadRequest, extractRequest, requestsManager.LoadDataFromIEEEXplore, iEEEXploreExtractor.ExtractData); loadAnswer.IEEEXploreNumberOfResults = numberOfResults; loadAnswer.IEEEXploreErrors = errorList; } if (loadRequest.LoadFromGoogleScholar) { (int numberOfResults, List <string> errorList) = await LoadFromSource( "Google Scholar", loadRequest, extractRequest, requestsManager.LoadDataFromGoogleScholar, bibTeXExtractor.ExtractData); loadAnswer.GoogleScholarNumberOfResults = numberOfResults; loadAnswer.GoogleScholarErrors = errorList; } return(loadAnswer); }
private void ShowResults(LoadAnswer loadAnswer, bool loadDBLP, bool loadIEEEXplore, bool loadGoogleScholar) { if (loadAnswer == null) { richTextBoxErrors.Text = "There was a problem with the answer of the warehouse."; return; } int dblpNumberOfResults = loadAnswer.DBLPNumberOfResults; int ieeeXploreNumberOfResults = loadAnswer.IEEEXploreNumberOfResults; int googleScholarNumberOfResults = loadAnswer.GoogleScholarNumberOfResults; labelDBLPReferencesNumber.Text = dblpNumberOfResults.ToString(); labelIEEEXploreReferencesNumber.Text = ieeeXploreNumberOfResults.ToString(); labelGoogleScholarReferencesNumber.Text = googleScholarNumberOfResults.ToString(); int totalReferencesNumber = dblpNumberOfResults + ieeeXploreNumberOfResults + googleScholarNumberOfResults; labelTotalReferencesNumber.Text = totalReferencesNumber.ToString(); string errorText = PrepareErrorText(); if (errorText.Equals("") && totalReferencesNumber == 0) { errorText = "No publications loaded. It could be because no publication has been found or because they have been already loaded."; } richTextBoxErrors.Text = errorText; string PrepareErrorText() { string errors = ""; if (loadDBLP && loadAnswer.DBLPErrors.Count > 0) { errors += "DBLP:\n"; foreach (string error in loadAnswer.DBLPErrors) { errors += " - " + error + "\n"; } } if (loadIEEEXplore && loadAnswer.IEEEXploreErrors.Count > 0) { errors += "IEEEXplore:\n"; foreach (string error in loadAnswer.IEEEXploreErrors) { errors += " - " + error + "\n"; } } if (loadGoogleScholar && loadAnswer.GoogleScholarErrors.Count > 0) { errors += "Google Scholar:\n"; foreach (string error in loadAnswer.GoogleScholarErrors) { errors += " - " + error + "\n"; } } return(errors); } }