コード例 #1
0
        // **************************************************************************************************************************************
        // DisplayTable
        //
        // Convenience routine to layout columns and rows of data contained within the response.  Data is echoed to the console.
        // **************************************************************************************************************************************
        static void DisplayTable(IDataSetResponse response, string header)
        {
            if (response.IsSuccess)
            {
                Console.WriteLine($"{Environment.NewLine}{header} for item: {response.Data.Raw[0]?["universe"]?["ric"]}");
                if (response.Data?.Table != null)
                {
                    Console.WriteLine();
                    foreach (DataColumn col in response.Data.Table.Columns)
                    {
                        Console.Write($"{col}\t");
                    }

                    Console.WriteLine();
                    foreach (DataRow dataRow in response.Data.Table.Rows)
                    {
                        foreach (var item in dataRow.ItemArray)
                        {
                            Console.Write($"{item}\t");
                        }
                        Console.WriteLine();
                    }
                }
                else
                {
                    Console.WriteLine($"Response contains an empty data set: {response.Data.Raw}");
                }
            }
            else
            {
                Console.WriteLine(response.Status);
            }

            Console.WriteLine();
        }
コード例 #2
0
        private static void DisplayData(string label, IDataSetResponse response)
        {
            Console.WriteLine($"\n{label}");

            if (response.IsSuccess)
            {
                Console.WriteLine(response.Data.Raw);
            }
            else
            {
                Console.WriteLine(response.HttpStatus);
            }

            Console.Write("\nHit <enter> to continue...");
            Console.ReadLine();
        }
コード例 #3
0
        public static void DisplayTable(string label, IDataSetResponse response, int maxCols, int maxRows = 0)
        {
            Console.WriteLine($"\n{label}");
            if (response.IsSuccess)
            {
                if (FormatTable(response.Data.Table, maxCols, maxRows))
                {
                    Console.WriteLine($"\nUniverse:\n{string.Join("\n", response.Data.Records.Select(w => DumpUniverse(w)))}");
                }
                else
                {
                    Console.WriteLine($"Response contains an empty data set: {response.Data?.Raw}");
                }
            }
            else
            {
                Console.WriteLine($"IsSuccess: {response.IsSuccess}\n{response.HttpStatus}");
            }

            Console.Write("\nHit <enter> to continue...");
            Console.ReadLine();
        }
コード例 #4
0
 public static void DisplayTable(string label, IDataSetResponse response)
 {
     DisplayTable(label, response, 0);
 }
コード例 #5
0
        // **************************************************************************************************************************************
        // DisplayTable
        //
        // Convenience routine to layout columns and rows of data contained within the response.  Data is echoed to the console.
        // **************************************************************************************************************************************
        public static void DisplayTable(IDataSetResponse response, string header)
        {
            Console.WriteLine("\n******************************************************************************************************************");
            if (response.IsSuccess)
            {
                Console.Write($"{Environment.NewLine}{header}");
                if (response.Data.Universe != null)
                {
                    Console.Write($" for item(s):\n{string.Join("\n", response.Data.Universe.Select(w => $"\tItem: {w.Instrument} {w.CommonName}"))}");
                }

                Console.WriteLine();

                if (response.Data?.Table != null)
                {
                    var console = new ConsoleTable();

                    IList <string> columns = new List <string>();
                    foreach (DataColumn col in response.Data.Table.Columns)
                    {
                        columns.Add(col.ColumnName);
                    }

                    console.AddColumn(columns);

                    IList <object> rowData = new List <object>();
                    foreach (DataRow dataRow in response.Data.Table.Rows)
                    {
                        foreach (object item in dataRow.ItemArray)
                        {
                            rowData.Add(item);
                        }

                        console.AddRow(rowData.ToArray());
                        rowData.Clear();
                    }

                    if (console.Columns.Count > 0)
                    {
                        Console.WriteLine("\n");
                        console.Write(Format.MarkDown);
                    }
                }
                else
                {
                    Console.WriteLine($"Response contains an empty data set: {response.Data?.Raw}");
                }

                Console.WriteLine($"Fields:\n{string.Join("\n", response.Data.Fields?.Select(f => $"\t{f.Name} ({f.Type})"))}");
            }
            else
            {
                Console.WriteLine($"IsSuccess: {response.IsSuccess}\n{response.Status}");
            }

            // Was there a Closure included with the request?  If so, display it.
            if (response.Closure != null)
            {
                Console.WriteLine($"{Environment.NewLine}Closure included: {response.Closure}");
            }
        }