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); } }