Пример #1
0
 private DataTable loadDatabaseDetails()
 {
     using (var connection = createConnection())
     {
         return(ConnectionFactoryIts.GetDataSources());
     }
 }
Пример #2
0
        //Inicializa o dataset com as consultas que pertencem ao relatorio
        private DataSet initDsConsultas()
        {
            try
            {
                using (var ctx = new ReportContext())
                {
                    this.dsConsultasReport = new DataSet("dsReport");
                    ConnectionFactoryIts conn = new ConnectionFactoryIts(ctx.NameOrConnectionString, 90);

                    foreach (var item in sourceReport)
                    {
                        var myTable = new DataTable();
                        myTable           = conn.ExecuteQueryDataTable(item.Consulta.CorpoQuery);
                        myTable.TableName = "table_" + item.Consulta.CodigoQuery;
                        dsConsultasReport.Tables.Add(myTable);
                    }

                    return(dsConsultasReport);
                }
            }
            catch (Exception ex)
            {
                XMessageIts.ExceptionMessage(ex);
                return(null);
            }
        }
Пример #3
0
        private void boundXGridTabDestino()
        {
            try
            {
                ConnectionFactoryIts conn      = new ConnectionFactoryIts(AppConfigManager.Configuration.AppConfig.ConnectionString);
                DataTable            dtTabelas = new DataTable("Tabelas");
                dtTabelas = conn.ExecuteQueryDataTable("SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES");

                gridControlTabDestino.DataSource = dtTabelas;
            }
            catch (SqlException ex)
            {
                LoggerUtilIts.ShowExceptionLogs(ex);
            }
        }
Пример #4
0
 private void loadDatabase()
 {
     try
     {
         this.Invoke(new MethodInvoker(delegate()
         {
             var dbs = new ConnectionFactoryIts(app.ConnectionString).DataBases;
             this.cbDatabase.Properties.Items.Clear();
             this.cbDatabase.Properties.Items.AddRange(dbs);
             this.cbDatabase.ShowPopup();
         }));
     }
     catch (SqlException)
     {
     }
 }
Пример #5
0
        private void indexColumnsCbColDestino(string tableName)
        {
            try
            {
                var dtColumns            = new DataTable("ColumnsDestino");
                ConnectionFactoryIts cnn = new ConnectionFactoryIts(AppConfigManager.Configuration.AppConfig.ConnectionString);
                dtColumns = cnn.ExecuteQueryDataTable(String.Format("SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = {0}", "\'" + tableName + "\'"));

                foreach (var col in dtColumns.AsEnumerable())
                {
                    var colDest = new ColunaDestino(col[0].ToString(), col[1].ToString(), col[2].ToString(), col[3].ToString(), col[4].ToString());

                    repComboDestino.Items.Add(colDest);
                }
            }
            catch (SqlException ex)
            {
                LoggerUtilIts.ShowExceptionLogs(ex);
            }
        }
Пример #6
0
        //private void fillTreeList()
        //{
        //    this.Cursor = Cursors.WaitCursor;
        //    // seu processo....

        //    treeListConnection.ClearNodes();
        //    treeListConnection.BeginUnboundLoad();
        //    Console.WriteLine("Loading ....");

        //    Task taskFill = Task.Run(()=>TaskFillTreeList());

        //    var r = taskFill;


        //    treeListConnection.ExpandAll();
        //    treeListConnection.EndUnboundLoad();

        //    // Entao você volta ao normal...
        //    this.Cursor = Cursors.Default;

        //}

        private void TaskFillTreeList()
        {
            AppConfigManager.Configuration.Reload();
            var connections = AppConfigManager.Configuration.AppConfigList;


            SetDatabaseDelegate loadApp = new SetDatabaseDelegate(loadConnections);

            //dispara uma ação segura
            //new SetDatabaseDelegate(loadConnections).DynamicInvoke(connections);
            if (this.InvokeRequired)
            {
                this.Invoke(loadApp, new object[] { connections });
            }

            //eu quero somentes os servidores que nao se repetem
            var serverList = from c in connections
                             group c by new { c.ServerName } //or group by new {p.ID, p.Name, p.Whatever}
            into servers
            select servers.FirstOrDefault();

            treeListConnection.BeginInvoke(new Action(async() =>
            {
                // Create a root node .
                TreeListNode parentForRootNodes = null;

                // Creating more nodes
                foreach (var server in serverList)
                {
                    //connection
                    //connection.database
                    //connection.database.tables
                    //....
                    var node = new NodConnection(server).Node;


                    //coloca o node do nome da conexao
                    TreeListNode rootNode     = treeListConnection.AppendNode(node, parentForRootNodes);
                    rootNode.ImageIndex       = 0;
                    rootNode.SelectImageIndex = 0;

                    using (var connection = new ConnectionFactoryIts(server.ConnectionString))
                    {
                        //coloque os banco
                        Task <string[]> taskDatabases = Task.Run(() => connection.DataBases);

                        //DoWorking ....

                        var databases = await taskDatabases;
                        server.DatabaseList.AddRange(databases);

                        foreach (var db in databases)
                        {
                            // Create a child of the rootNode
                            var child              = treeListConnection.AppendNode(new object[] { db }, rootNode);
                            child.ImageIndex       = 1;
                            child.SelectImageIndex = 1;
                            var childChild         = treeListConnection.AppendNode(new object[] { "Tables" }, child);
                            //tabelas
                            Task <string[]> taskTables = Task.Run(() => connection.Tables);

                            var tables = await taskTables;

                            childChild.ImageIndex       = 2;
                            childChild.SelectImageIndex = 2;

                            //colocas as tabelas
                            foreach (var tb in tables)
                            {
                                //coloque as tabelas daquele banco
                                var child3              = treeListConnection.AppendNode(new object[] { tb }, childChild);
                                child3.ImageIndex       = 3;
                                child3.SelectImageIndex = 3;

                                //treeListConnection.EndUnboundLoad();
                            }
                            treeListConnection.BeginUnboundLoad();
                            treeListConnection.EndUnboundLoad();
                        }
                    }
                    //apos isso faço tudo denovo em cada string de conexão
                }
            }));
        }