예제 #1
0
        public void OnGet()
        {
            dblpResult          = TempData.Get <DataLoaderResult>("LoadResults.Dblp");
            ieeeXploreResult    = TempData.Get <DataLoaderResult>("LoadResults.IeeeXplore");
            googleScholarResult = TempData.Get <DataLoaderResult>("LoadResults.GoogleScholar");

            combinedResult = new DataLoaderResult(0);
            if (dblpResult is not null)
            {
                combinedResult += dblpResult;
            }
            if (ieeeXploreResult is not null)
            {
                combinedResult += ieeeXploreResult;
            }
            if (googleScholarResult is not null)
            {
                combinedResult += googleScholarResult;
            }

            DblpCount          = dblpResult?.InsertedSubmissionCount ?? 0;
            IeeeXploreCount    = ieeeXploreResult?.InsertedSubmissionCount ?? 0;
            GoogleScholarCount = googleScholarResult?.InsertedSubmissionCount ?? 0;
            CombinedCount      = combinedResult.InsertedSubmissionCount;

            ErrorCount = combinedResult.Errors.Count;

            ErrorList = combinedResult.Errors;
        }
예제 #2
0
        DataLoaderResult ExtractFromOneSource(ExtractionFunction extract, string errorDiscriminator)
        {
            DataLoaderResult result = new DataLoaderResult(0);
            var errors = new List <string>();

            try
            {
                result = extract((int?)StartYear, (int?)EndYear);
            }
            catch (Exception e)
            {
                errors.Add($"El extractor {errorDiscriminator} ha fallado: {e.Message}");
            }

            result.AddAllErrors(errors);
            return(result);
        }
예제 #3
0
 public ProductRepository(IDataService dataService, IConfigurationSettings configurationSettings)
 {
     _dataService  = dataService;
     availableData = _dataService.LoadData <DataLoaderResult>(configurationSettings);
     Products      = new List <Product>(availableData?.Result?.Products);
 }