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; } }
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 Data( ParameterizedDatumLocator datumLocator ) { DatumLocator = datumLocator; ValidationResult = LocatorValidationResult.Empty; TypeDescriptor.AddAttributes( typeof( Anchor ), new TypeConverterAttribute( typeof( GenericTypeConverter ) ) ); TypeDescriptor.AddAttributes( typeof( ICellLocator ), new TypeConverterAttribute( typeof( GenericTypeConverter ) ) ); }
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 LocatorValidationResult Validate( ParameterizedDatumLocator locator ) { var provider = new Validator( myServiceProvider.Browser() ); return provider.Fetch( locator ); }
public LocatorListViewItem( ParameterizedDatumLocator datumLocator ) : base(datumLocator.Name) { Content = new Data( datumLocator ); }