示例#1
0
        public void SqlCatalog(
            [Argument(Help = "identificação da fonte de dados")]
            string dataSource,
            [Argument(Help = "String de ligação ao servidor de SQL, e.g. 'Server=SqlServerTestMachine;Trusted_Connection=True;'")]
            string connectionString,
            [Argument(Help = "Identificador da base de dados")]
            string catalogName)
        {
            try
            {
                App.Console.BreakLineInNextWrite = false;
                App.Console.WriteWithColor("A enviar solicitação ao servidor...", false, ConsoleColor.Yellow);

                var producerFacade = ServiceProvider.GetService <IRelationalDatabasesProducerService>();

                RelationalDatabaseDataSet results = producerFacade.GetCatalogs(dataSource, connectionString,
                                                                               new[] { new CatalogName(catalogName) });

                App.Console.WriteWithColor("A receber resposta do servidor.", false, ConsoleColor.Yellow);
                string output = TableViewExtensions.ToTableView(results.Catalog).Build().ToString();
                App.Console.Write(output, true);
            }
            catch
            {
                // ignored
            }
        }
示例#2
0
        public void SqlTables(
            [Argument(Help = "Identificação da fonte de dados")]
            string dataSource,
            [Argument(Help = "String de ligação ao servidor de SQL, e.g. 'Server=SqlServerTestMachine;Trusted_Connection=True;'")]
            string connectionString,
            [Argument(Help = "Identificador da base de dados")]
            string catalogName,
            [Argument(Help = "Identificador(es) da(s) tabela(s)", IsRequired = false)]
            string[] tableNameCollection = null)
        {
            try
            {
                App.Console.WriteWithColor("A enviar solicitação ao servidor...", false, ConsoleColor.Yellow);

                var producerFacade = ServiceProvider.GetService <IRelationalDatabasesProducerService>();

                RelationalDatabaseDataSet results =
                    tableNameCollection != null
                        ? producerFacade.GetTables(dataSource, connectionString,
                                                   CatalogName.FromArray(new[] { catalogName }), TableName.FromArray(tableNameCollection))
                        : producerFacade.GetTables(dataSource, connectionString,
                                                   CatalogName.FromArray(new[] { catalogName }));

                App.Console.WriteWithColor("A receber resposta do servidor.", false, ConsoleColor.Yellow);

                string output = TableViewExtensions.ToTableView(results.Table).Build().ToString();
                App.Console.Write(output, true);
            }
            catch
            {
                // ignored
            }
        }
示例#3
0
        public void SqlCatalogs(
            [Argument(Help = "Identificação da fonte de dados")]
            string dataSource,
            [Argument(Help = "String de ligação ao servidor de SQL, e.g. 'Server=SqlServerTestMachine;Trusted_Connection=True;'")]
            string connectionString)
        {
            // Cria animação de espera em back-ground, obtendo um token para cancelar a animação logo que os dados cheguem.
            CancellationTokenSource animation = Animation.Spinner(ConsoleColor.Yellow);

            try
            {
                App.Console.WriteWithColor("A enviar solicitação ao servidor...", false, ConsoleColor.Yellow);

                var producerFacade = ServiceProvider.GetService <IRelationalDatabasesProducerServiceAsync>();

                // Fica à espera que o back-end responda.
                var task = producerFacade.GetCatalogsAsync(dataSource, connectionString);
                task.Wait();

                // Os dados já chegaram, pára a animação e mostra os resultados.
                animation.Cancel();

                App.Console.WriteWithColor("A receber resposta do servidor.", false, ConsoleColor.Yellow);

                string output = TableViewExtensions.ToTableView(task.Result.Catalog).Build().ToString();
                App.Console.Write(output, true);
            }
            catch (Exception)
            {
                if (!animation.IsCancellationRequested)
                {
                    animation.Cancel();
                }
            }
        }