// This method used to initiate start of DDT on remote machine public static void StartDdt(ListView listview, List<Server> serversList, DdtParameters ddtparameters) { var selectedServers = listview.Items.Cast<ListViewItem>().Where(item => item.Checked).ToList(); // Creating list of selected servers foreach (var server in selectedServers) { for (var y = 0; y < serversList.Count; y++) { if (server.SubItems[1].Text != serversList[y].ServerCredentials.Ip) continue; var index = y; if (serversList[y].Task != null) { serversList[y].Cts.Cancel(); } serversList[y].ServerGeneratorStatus = Server.GeneratorStatus.Running; serversList[y].Cts = new CancellationTokenSource(); serversList[y].DdtParameters = ddtparameters; serversList[y].Task = new Task(() => serversList[index].Runddt()); serversList[y].Task.Start(); } } }
public static void StartDdt(ListView listview, List<Server> serversList, DdtParameters ddtparameters, string username, string password) { var selectedServers = listview.Items.Cast<ListViewItem>().Where(item => item.Checked).ToList(); // Creating list of selected servers foreach (var server in selectedServers) { foreach (var t in serversList) { if (server.SubItems[1].Text != t.ServerCredentials.Ip) continue; t.ServerCredentials.Username = username; t.ServerCredentials.Password = password; } } StartDdt(listview,serversList,ddtparameters); }
private void btn_startDDT_Click(object sender, EventArgs e) { var failedValidation = false; var textBoxValidate = new List<TextBox> {tb_Size, tb_Path, tb_Compression, tb_Interval}; foreach (var textBox in textBoxValidate) { if (!string.IsNullOrWhiteSpace(textBox.Text)) continue; errorProvider1.SetError(textBox,"Field cannot be empty"); failedValidation = true; } if (failedValidation) return; _ddtParameters = new DdtParameters() { Filesize = Convert.ToInt32(tb_Size.Text), Compression = Convert.ToInt32(tb_Compression.Text), Interval = Convert.ToInt32(tb_Interval.Text), Filepath = tb_Path.Text, FillingGeneration = cb_fillingGeneration.Checked }; _ddtParameters.SerizalizeDdtParamsToFile(); // Start DDT for selected servers with specific parameters if (cb_UseCustomCredentials.Checked) { DdtWrapper.StartDdt(lv_AgentsList, ServerWrapper.ServersList, _ddtParameters, tb_customUsername.Text, tb_customPassword.Text); } else { DdtWrapper.StartDdt(lv_AgentsList, ServerWrapper.ServersList, _ddtParameters); } // Update ListView ServerWrapper.UpdateListView(lv_AgentsList, lbl_ChangeRateValue, lbl_totalAgentsRunningValue); }