public LocatorValidationResult Fetch(ParameterizedDatumLocator datumLocator) { Navigation navigation = null; IDocument doc = null; IFormat format = null; try { var fetchPolicy = new EvaluatorPolicy(datumLocator.Parameters); navigation = fetchPolicy.GetNavigation(datumLocator.Site); doc = myWebScrapSC.GetDocument(navigation); if (doc == null) { return(new LocatorValidationResult(null, datumLocator, navigation, null, null)); } format = fetchPolicy.GetFormat(datumLocator.Site); var result = fetchPolicy.ApplyPreprocessing(doc.ExtractTable(format)); var resultPolicy = new FirstNonNullPolicy(); resultPolicy.Validate(datumLocator.Site, result); return(new LocatorValidationResult(resultPolicy.ResultTable, datumLocator, navigation, doc.Location, format)); } catch (Exception ex) { var result = new LocatorValidationResult(null, datumLocator, navigation, doc != null ? doc.Location : null, format); result.ErrorMessage = ex.Message; return(result); } }
private ParameterizedDatumLocator CreateLocator(DatumLocator locator, int siteIndex, string isin) { var validator = new ParameterizedDatumLocator(locator.Datum, locator.Sites[siteIndex]); validator.Parameters["stock.isin"] = isin; return(validator); }
public Data(ParameterizedDatumLocator datumLocator) { DatumLocator = datumLocator; ValidationResult = LocatorValidationResult.Empty; TypeDescriptor.AddAttributes(typeof(Anchor), new TypeConverterAttribute(typeof(GenericTypeConverter))); TypeDescriptor.AddAttributes(typeof(ICellLocator), new TypeConverterAttribute(typeof(GenericTypeConverter))); }
public LocatorValidationResult(DataTable result, ParameterizedDatumLocator datumLocator, Navigation modifiedNavigation, string documentLocation, IFormat modifiedFormat) { Result = result; DatumLocator = datumLocator; Navigation = modifiedNavigation ?? Navigation.Empty; DocumentLocation = documentLocation; Format = modifiedFormat; }
public LocatorListViewItem(ParameterizedDatumLocator datumLocator) : base(datumLocator.Name) { Content = new Data(datumLocator); }
public LocatorValidationResult Validate(ParameterizedDatumLocator locator) { var provider = new Validator(myServiceProvider.Browser()); return(provider.Fetch(locator)); }