예제 #1
0
        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);
        }
예제 #2
0
        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");
        }