示例#1
0
 public formObj()
 {
     InitializeComponent();
     bll   = new T_PingObjBLL();
     model = new T_PingObj();
     bs    = new BindingSource();
 }
示例#2
0
 private void  除ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     model = (T_PingObj)bs.Current;
     if (model.ID != 0)
     {
         bll.Del(model.ID);
         bs.RemoveCurrent();
     }
 }
示例#3
0
        private static T_PingObj ToModel(DataRow drTemp)
        {
            T_PingObj modelTemp = new T_PingObj();

            modelTemp.ID           = (int)drTemp["ID"];
            modelTemp.OBJNAME      = (string)drTemp["OBJNAME"];
            modelTemp.ADDRESS      = (string)drTemp["ADDRESS"];
            modelTemp.MONITORSPEED = (bool)drTemp["MONITORSPEED"];
            modelTemp.MONITORNET   = (bool)drTemp["MONITORNET"];
            return(modelTemp);
        }
示例#4
0
        public IList <T_PingObj> GetAll()
        {
            string           cmdStr = "select * from T_PingObj";
            List <T_PingObj> models = new List <T_PingObj>();

            foreach (DataRow drTemp in SQLHelpler.ExecuteAdapter(cmdStr).Rows)
            {
                T_PingObj modelTemp = ToModel(drTemp);
                models.Add(modelTemp);
            }
            return(models);
        }
示例#5
0
        public IList <T_PingObj> GetByMonitor()
        {
            string           cmdStr = "select * from T_PingObj where MONITORSPEED=true or MONITORNET=true";
            List <T_PingObj> models = new List <T_PingObj>();

            foreach (DataRow drTemp in SQLHelpler.ExecuteAdapter(cmdStr).Rows)
            {
                T_PingObj modelTemp = ToModel(drTemp);
                models.Add(modelTemp);
            }
            return(models);
        }
示例#6
0
        public int Update(T_PingObj modelIn)
        {
            string cmdStr = "update T_PingObj set OBJNAME=@OBJNAME,ADDRESS=@ADDRESS,MONITORSPEED=@MONITORSPEED,MONITORNET=@MONITORNET where ID=@ID";

            OleDbParameter[] parms =
            {
                new OleDbParameter("OBJNAME",      modelIn.OBJNAME == null?"":modelIn.OBJNAME),
                new OleDbParameter("ADDRESS",      modelIn.ADDRESS == null?"":modelIn.ADDRESS),
                new OleDbParameter("MONITORSPEED", modelIn.MONITORSPEED),
                new OleDbParameter("MONITORNET",   modelIn.MONITORNET),
                new OleDbParameter("ID",           modelIn.ID)
            };
            return(SQLHelpler.ExecuteNonQuery(cmdStr, parms));
        }
示例#7
0
        public int Add(T_PingObj modelIn)
        {
            string cmdStr = "insert into T_PingObj(OBJNAME,ADDRESS,MONITORSPEED,MONITORNET) values(@OBJNAME,@ADDRESS,@MONITORSPEED,@MONITORNET)";

            OleDbParameter[] parms =
            {
                new OleDbParameter("OBJNAME",      modelIn.OBJNAME == null?"":modelIn.OBJNAME),
                new OleDbParameter("ADDRESS",      modelIn.ADDRESS == null?"":modelIn.ADDRESS),
                new OleDbParameter("MONITORSPEED", modelIn.MONITORSPEED),
                new OleDbParameter("MONITORNET",   modelIn.MONITORNET)
            };
            SQLHelpler.ExecuteNonQuery(cmdStr, parms);
            return((int)SQLHelpler.ExecuteSclary("select max(ID) from T_PingObj"));
        }
示例#8
0
        private void dgvwResults_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            //MessageBox.Show(((T_PingObj)bs.Current).ToString());

            model = (T_PingObj)bs.Current;
            if (model.ID == 0)
            {
                model.ID = bll.Add(model);
            }
            else
            {
                bll.Update(model);
            }
            //bll.Update((T_PingObj)bs.Current);
        }
示例#9
0
        //线程开始方法
        private void ThreadPing(object ObjIn)
        {
            ListViewItem itemTemp = (ListViewItem)ObjIn;
            T_PingObj    modelObj = (T_PingObj)itemTemp.Tag;
            NetState     model    = new NetState();

            model.name = itemTemp.Text;
            model.ip   = itemTemp.SubItems[1].Text;

            string targetIp       = itemTemp.SubItems[1].Text;
            int    noNetCount     = 0;
            int    slowSpeedCount = 0;
            int    reTime         = 0;
            bool   isConvertIP    = false;

            Ping p = new Ping();
            DelegateUpdateLst updateLst = new DelegateUpdateLst(UpdateLst);

            while (isMon)
            {
                if (!isConvertIP)
                {
                    try
                    {
                        targetIp    = Dns.GetHostAddresses(targetIp)[0].ToString();
                        isConvertIP = true;
                    }
                    catch
                    {
                        reTime = -2;
                    }
                }
                if (isConvertIP)
                {
                    PingReply pr = p.Send(targetIp, 5000);
                    if (pr.Status == IPStatus.Success)
                    {
                        reTime = Convert.ToInt32(pr.RoundtripTime);
                        //下面是监控网速
                        if (modelObj.MONITORSPEED)
                        {
                            if (reTime >= SpeedReTime)
                            {
                                slowSpeedCount++;
                                if (slowSpeedCount >= SpeedCount)
                                {
                                    DelegateExecption Exce = new DelegateExecption(ExecptionHandle);
                                    model.reTime = reTime;
                                    model.state  = "网速很慢";
                                    this.Invoke(Exce, model);
                                    slowSpeedCount = 0;
                                }
                            }
                            else
                            {
                                slowSpeedCount = 0;
                            }
                        }
                        noNetCount = 0;
                    }
                    else
                    {
                        reTime = -1;
                        //下面是监控断网
                        if (modelObj.MONITORNET)
                        {
                            noNetCount++;
                            if (noNetCount >= NoNetCount)
                            {
                                DelegateExecption exceptionHandle = new DelegateExecption(ExecptionHandle);
                                model.state  = "断网";
                                model.reTime = -1;
                                this.Invoke(exceptionHandle, model);
                                noNetCount = 0;
                                //这里发送邮件
                            }
                        }
                    }
                }
                lstvResults.Invoke(updateLst, itemTemp, reTime);
                Thread.Sleep(1000);
            }
        }
示例#10
0
 public int Update(T_PingObj modelIn)
 {
     return(new T_PingObjDAL().Update(modelIn));
 }
示例#11
0
 public int Add(T_PingObj modelIn)
 {
     return(new T_PingObjDAL().Add(modelIn));
 }