private void import(object state)
        {
            int parameters = (int)state;
            CutInCol processCic = new CutInCol(_db);

            processCic.Process(parameters);
            processCic = null;
        }
        private void cutInColOnly(object state)
        {
            int tableProcessKey;
            KeyValuePair<AlgoQuest.Core.DatabaseManagement.DataTable, AlgoQuest.Core.DatabaseManagement.DataColumn> parameters =
                        (KeyValuePair<Core.DatabaseManagement.DataTable, Core.DatabaseManagement.DataColumn>)state;
            AlgoQuest.Core.DatabaseManagement.DataTable table = parameters.Key;
            AlgoQuest.Core.DatabaseManagement.DataColumn column = parameters.Value;
            lock (_availableTableProcess)
            {
                tableProcessKey = _availableTableProcess.First();
                _availableTableProcess.Remove(tableProcessKey);
            }

            Label lbl = (Label)tlpProcess.Controls.Find("lbl" + tableProcessKey.ToString(), true).First();
            ProgressBar pb = (ProgressBar)tlpProcess.Controls.Find("pb" + tableProcessKey.ToString(), true).First();

            while (!lbl.IsHandleCreated)
                Thread.Sleep(100);

            lbl.Invoke(new Action(() => { lbl.Text = String.Format("La colonne {0} de la table {1} est en cours d'import. ",column.ColumnName, table.DataTableName); }));

            pb.Invoke(new Action(() => { pb.Value = 0; }));
            pb.Invoke(new Action(() => { pb.Maximum = 1; }));
            CutInCol processCic = new CutInCol(_db);
            processCic.Process(table.Order, column.Order);
            pb.Invoke(new Action(() => { pb.Value++; }));
            _columnCutInColList[column] = true;
            lock (_availableTableProcess)
            {
                _availableTableProcess.Add(tableProcessKey);
            }
        }