Пример #1
0
        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;
            }));
        }
Пример #2
0
        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();
        }