private async Task <List <MachineOnlineModel> > GetMachineStatus(List <MachineOnlineModel> listMC) { List <MachineOnlineModel> list = new List <MachineOnlineModel>(); return(await Task.Factory.StartNew(() => { foreach (var mc in listMC) { MachineOnlineModel _mc = new MachineOnlineModel(); try { using (SimpleTcpClient client = new SimpleTcpClient()) { client.Connect(mc.IP, 1000); _mc.IP = mc.IP; _mc.isOnline = true; } } catch (Exception) { _mc.IP = mc.IP; _mc.isOnline = false; } list.Add(_mc); } return list; })); }
private void btnApply_Click(object sender, EventArgs e) { waitForm.Show(main_parent); var mcfilter = machines.Where(m => m.Zone_Name == cbbZone.Text && m.Model_Name == cbbModel.Text && m.Line == cbbLine.Text && m.Process_Name == cbbProcess.Text).ToList(); if (chkconnected.Checked) { List <Proc_Machines_Result> mcs = new List <Proc_Machines_Result>(); List <MachineOnlineModel> mcOn = new List <MachineOnlineModel>(); foreach (var mc in mcfilter) { MachineOnlineModel mcO = new MachineOnlineModel(); mcO.IP = mc.IP.Trim(); mcOn.Add(mcO); mcs.Add(mc); } procMachinesResultBindingSource.DataSource = mcs; } else { procMachinesResultBindingSource.DataSource = mcfilter; } waitForm.Close(); }