public IResultSetResolver Instantiate(ResultSetResolverArgs args) { if (args is ContentResultSetResolverArgs) { return(new ContentResultSetResolver(args as ContentResultSetResolverArgs)); } else if (args is RowsResultSetResolverArgs) { return(new RowsResultSetResolver(args as RowsResultSetResolverArgs)); } else if (args is QueryResultSetResolverArgs) { return(new QueryResultSetResolver(args as QueryResultSetResolverArgs)); } else if (args is CsvResultSetResolverArgs) { return(new CsvResultSetResolver(args as CsvResultSetResolverArgs)); } else if (args is XPathResultSetResolverArgs) { return(new XPathResultSetResolver(args as XPathResultSetResolverArgs)); } else if (args is ObjectsResultSetResolverArgs) { return(new ObjectsResultSetResolver(args as ObjectsResultSetResolverArgs)); } throw new ArgumentOutOfRangeException($"Type '{args.GetType().Name}' is not expected when building a ResultSet"); }
public IResultSetResolver Instantiate(ResultSetResolverArgs args) { switch (args) { case ContentResultSetResolverArgs x: return(new ContentResultSetResolver(x)); case RowsResultSetResolverArgs x: return(new RowsResultSetResolver(x)); case QueryResultSetResolverArgs x: return(new QueryResultSetResolver(x, serviceLocator)); case FlatFileResultSetResolverArgs x: return(new FlatFileResultSetResolver(x, serviceLocator)); case DataSerializationResultSetResolverArgs x: return(new DataSerializationResultSetResolver(x)); case ObjectsResultSetResolverArgs x: return(new ObjectsResultSetResolver(x)); case SequenceCombinationResultSetResolverArgs x: return(new SequenceCombinationResultSetResolver(x)); case EmptyResultSetResolverArgs x: return(new EmptyResultSetResolver(x)); case IfUnavailableResultSetResolverArgs x: return(new IfUnavailableResultSetResolver(x)); default: throw new ArgumentOutOfRangeException($"Type '{args.GetType().Name}' is not expected when building a result-set"); } }
public void Build() { if (!isSetup) { throw new InvalidOperationException(); } if (obj is ResultSetSystemXml) { //ResultSet (external CSV file) if (!string.IsNullOrEmpty((obj as ResultSetSystemXml).File)) { args = BuildCsvResolverArgs((obj as ResultSetSystemXml).File); } //Query else if ((obj as ResultSetSystemXml).Query != null) { args = BuildQueryResolverArgs((obj as ResultSetSystemXml).Query); } //ResultSet (embedded) else if ((obj as ResultSetSystemXml).Rows != null) { args = BuildEmbeddedResolverArgs((obj as ResultSetSystemXml).Content); } } if (obj is ResultSetXml) { //ResultSet (external CSV file) if (!string.IsNullOrEmpty((obj as ResultSetXml).File)) { args = BuildCsvResolverArgs((obj as ResultSetXml).File); } //ResultSet (embedded) else if ((obj as ResultSetXml).Rows != null) { args = BuildEmbeddedResolverArgs((obj as ResultSetXml).Content); } } if (obj is QueryXml) { args = BuildQueryResolverArgs((obj as QueryXml)); } if (obj is XmlSourceXml) { args = BuildXPathResolverArgs((obj as XmlSourceXml)); } if (args == null) { throw new ArgumentException(); } }
public ProjectionResultSetScalarResolverArgs(Func <ResultSet.ResultSet, object> projection, ResultSetResolverArgs resultSetArgs) { Projection = projection; ResultSetArgs = resultSetArgs; }
public RowCountResultSetScalarResolverArgs(ResultSetResolverArgs resultSetArgs) : base((ResultSet.ResultSet rs) => rs.Rows.Count, resultSetArgs) { }