public static DataTable QueryToDataTable( VASS.Query.CellQuery query, CellOutputType output_type, IList <int> shapeids, VisioAutomation.SurfaceTarget surface) { switch (output_type) { case CellOutputType.Formula: { var output = query.GetFormulas(surface, shapeids); var dt = DataTableHelpers.querytable_to_datatable(query, output); return(dt); } case CellOutputType.ResultString: { var output = query.GetResults <string>(surface, shapeids); return(DataTableHelpers.querytable_to_datatable(query, output)); } case CellOutputType.ResultBoolean: { var output = query.GetResults <bool>(surface, shapeids); return(DataTableHelpers.querytable_to_datatable(query, output)); } case CellOutputType.ResultDouble: { var output = query.GetResults <double>(surface, shapeids); return(DataTableHelpers.querytable_to_datatable(query, output)); } case CellOutputType.ResultInteger: { var output = query.GetResults <int>(surface, shapeids); return(DataTableHelpers.querytable_to_datatable(query, output)); } } string msg = string.Format("Unsupported value of \"{0}\" for type {1}", output_type, nameof(CellOutputType)); throw new System.ArgumentOutOfRangeException(nameof(output_type), msg); }
public static DataTable QueryToDataTable(CellQuery cell_query, bool getresults, ResultType result_type, IList <int> shapeids, VisioAutomation.SurfaceTarget surface) { if (!getresults) { var output = cell_query.GetFormulas(surface, shapeids); return(DataTableHelpers.querytable_to_datatable(cell_query, output)); } switch (result_type) { case ResultType.String: { var output = cell_query.GetResults <string>(surface, shapeids); return(DataTableHelpers.querytable_to_datatable(cell_query, output)); } case ResultType.Boolean: { var output = cell_query.GetResults <bool>(surface, shapeids); return(DataTableHelpers.querytable_to_datatable(cell_query, output)); } case ResultType.Double: { var output = cell_query.GetResults <double>(surface, shapeids); return(DataTableHelpers.querytable_to_datatable(cell_query, output)); } case ResultType.Integer: { var output = cell_query.GetResults <int>(surface, shapeids); return(DataTableHelpers.querytable_to_datatable(cell_query, output)); } } throw new System.ArgumentOutOfRangeException("Unsupported Result type"); }