コード例 #1
0
        /// <summary>
        /// 获取监测站信息
        /// </summary>
        /// <param name="devId"></param>
        /// <returns></returns>
        public static StatInfo GetStatInfo(int devId)
        {
            StatInfo model = null;

            if (_devRelatedStatDic.ContainsKey(devId))
            {
                model = _devRelatedStatDic[devId];
            }
            else
            {
                var stat = new ESMonitor.BLL.Devs().GetDevStat(devId);
                if (stat != null)
                {
                    var statInfo = new StatInfo
                    {
                        StatId     = stat.Id,
                        Country    = stat.Country,
                        StatCodeUp = 1
                    };

                    _devRelatedStatDic.Add(devId, statInfo);
                }
            }

            return(model);
        }
コード例 #2
0
        private void UpdateDevGps(DevCtrlResponseCmd cmd, int devId)
        {
            var statInfo = DevsManage.GetStatInfo(devId);
            var data     = new byte[24];

            for (var i = 0; i < 24; i++)
            {
                if (cmd.Data[i] == 0x00)
                {
                    data[i] = 0x30;
                }
                else
                {
                    data[i] = cmd.Data[i];
                }
            }

            var sourceCoordinate = Encoding.ASCII.GetString(data, 0, 24).Insert(12, ",");
            var url = $"http://api.map.baidu.com/geoconv/v1/?coords={sourceCoordinate}&from=1&to=5&ak=0DpSiAEhexZzZR7c7pkYFq7E";

            var request  = (HttpWebRequest)WebRequest.Create(url);
            var response = request.GetResponse();
            // ReSharper disable once AssignNullToNotNullAttribute
            var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
            var result         = JsonConvert.DeserializeObject <BaiduCordinateResult>(responseString);
            var bll            = new ESMonitor.BLL.Devs();
            var cor            = result.result[0];

            bll.UpdateGps(statInfo.StatId, cor.y, cor.x);
        }
コード例 #3
0
        public static int GetDevId(uint nodeId)//根据地址获得设备的编号
        {
            var rst = 0;

            if (_devAddrDic.ContainsKey(nodeId))
            {
                rst = _devAddrDic[nodeId];
            }
            else
            {
                var dev = new ESMonitor.BLL.Devs().GetDevByNodeId(nodeId);
                if (dev != null)
                {
                    var model = new DevStatus
                    {
                        Id            = dev.Id,
                        IsRegistered  = false,
                        RecvTime      = DateTime.Now,
                        Status        = (int)CommStatus.DisConnect,
                        HeartBeatTime = DateTime.Now,
                        SendTime      = DateTime.Now
                    };

                    _devStatusDic.Add(model.Id, model);
                    _devAddrDic.Add(nodeId, dev.Id);
                    rst = dev.Id;
                }
            }

            return(rst);
        }
コード例 #4
0
ファイル: Add.aspx.cs プロジェクト: SHWDTech/lagecy_app
        protected void btnSave_Click(object sender, EventArgs e)
        {
            string strErr = "";

            if (this.txtDevCode.Text.Trim().Length == 0)
            {
                strErr += "DevCode不能为空!\\n";
            }
            if (this.txtStatCode.Text.Trim().Length == 0)
            {
                strErr += "StatCode不能为空!\\n";
            }
            if (!PageValidate.IsDateTime(txtStartTime.Text))
            {
                strErr += "StartTime格式错误!\\n";
            }
            if (!PageValidate.IsDateTime(txtPreEndTime.Text))
            {
                strErr += "PreEndTime格式错误!\\n";
            }
            if (!PageValidate.IsDateTime(txtEndTime.Text))
            {
                strErr += "EndTime格式错误!\\n";
            }
            if (!PageValidate.IsNumber(txtDevStatus.Text))
            {
                strErr += "DevStatus格式错误!\\n";
            }
            if (this.txtVideoURL.Text.Trim().Length == 0)
            {
                strErr += "VideoURL不能为空!\\n";
            }

            if (strErr != "")
            {
                MessageBox.Show(this, strErr);
                return;
            }
            string   DevCode    = this.txtDevCode.Text;
            string   StatCode   = this.txtStatCode.Text;
            DateTime StartTime  = DateTime.Parse(this.txtStartTime.Text);
            DateTime PreEndTime = DateTime.Parse(this.txtPreEndTime.Text);
            DateTime EndTime    = DateTime.Parse(this.txtEndTime.Text);
            int      DevStatus  = int.Parse(this.txtDevStatus.Text);
            string   VideoURL   = this.txtVideoURL.Text;

            ESMonitor.Model.Devs model = new ESMonitor.Model.Devs();
            model.DevCode    = DevCode;
            model.StatCode   = StatCode;
            model.StartTime  = StartTime;
            model.PreEndTime = PreEndTime;
            model.EndTime    = EndTime;
            model.DevStatus  = DevStatus;
            model.VideoURL   = VideoURL;

            ESMonitor.BLL.Devs bll = new ESMonitor.BLL.Devs();
            bll.Add(model);
            Maticsoft.Common.MessageBox.ShowAndRedirect(this, "保存成功!", "add.aspx");
        }
コード例 #5
0
        private void BindLocalCtrls()
        {
            ESMonitor.BLL.Devs LBll = new ESMonitor.BLL.Devs();

            DataSet ds = new DataSet();

            ds = LBll.GetList("");
            this.ddlLocalCtrls.DataSource     = ds;
            this.ddlLocalCtrls.DataTextField  = "DevCode";
            this.ddlLocalCtrls.DataValueField = "DevId";
            //this.ddlLocalCtrls.DataBind();
        }
コード例 #6
0
 private void ShowInfo(int Id)
 {
     ESMonitor.BLL.Devs   bll   = new ESMonitor.BLL.Devs();
     ESMonitor.Model.Devs model = bll.GetModel(Id);
     this.lblId.Text         = model.Id.ToString();
     this.lblDevCode.Text    = model.DevCode;
     this.lblStatCode.Text   = model.StatCode;
     this.lblStartTime.Text  = model.StartTime.ToString();
     this.lblPreEndTime.Text = model.PreEndTime.ToString();
     this.lblEndTime.Text    = model.EndTime.ToString();
     this.lblDevStatus.Text  = model.DevStatus.ToString();
     this.lblVideoURL.Text   = model.VideoURL;
 }
コード例 #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ESMonitor.BLL.Devs bll = new ESMonitor.BLL.Devs();
            DataSet            ds  = bll.GetAllList();

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                ListItem item = new ListItem {
                    Value = dr["ID"].ToString(), Text = dr["DevCode"].ToString()
                };
                selDevs.Items.Add(item);
            }
            selDevs.SelectedIndex = 1;
        }
コード例 #8
0
        public static void UpdateDevStats(int devId)
        {
            var stat = new ESMonitor.BLL.Devs().GetDevStat(devId);

            if (stat != null)
            {
                var statInfo = new StatInfo
                {
                    StatId     = stat.Id,
                    Country    = stat.Country,
                    StatCodeUp = 1
                };

                _devRelatedStatDic[devId] = statInfo;
            }
        }
コード例 #9
0
        public static void Init()
        {
            _devStatusDic      = new Dictionary <int, DevStatus>(); //初始化这两个结构
            _devAddrDic        = new Dictionary <uint, int>();      //编号和Id的关系
            _devRelatedStatDic = new Dictionary <int, StatInfo>();

            var bll = new ESMonitor.BLL.Devs();//生成一个业务层的设备类

            var dt = bll.GetDevAddrList().Tables[0];

            foreach (DataRow dr in dt.Rows)
            {
                var model = new DevStatus
                {
                    Id            = Convert.ToInt32(dr["DevId"]),
                    IsRegistered  = false,
                    RecvTime      = new DateTime(),
                    Status        = (int)CommStatus.DisConnect,
                    HeartBeatTime = new DateTime(),
                    SendTime      = new DateTime()
                };
                _devStatusDic.Add(model.Id, model);

                var addr   = (byte[])(dr["NodeId"]);
                var nodeId = Utility.BytesToUint32(addr, 0, false);
                _devAddrDic.Add(nodeId, model.Id);
            }


            dt = bll.GetDevRelatedStat("").Tables[0];
            foreach (DataRow dr in dt.Rows)
            {
                var statInfo = new StatInfo();
                var devId    = Convert.ToInt32(dr["DevId"]);
                statInfo.StatId     = Convert.ToInt32(dr["StatId"]);
                statInfo.Country    = dr["Country"].ToString();
                statInfo.StatCodeUp = int.Parse(dr["StatCodeUp"].ToString());

                _devRelatedStatDic.Add(devId, statInfo);
            }
        }
コード例 #10
0
        public static void Init()
        {
            devStatusDic      = new Dictionary <int, DevStatus>(); //初始化这两个结构
            devAddrDic        = new Dictionary <UInt32, int>();    //编号和Id的关系
            devRelatedStatDic = new Dictionary <int, StatInfo>();

            ESMonitor.BLL.Devs bll      = new ESMonitor.BLL.Devs();//生成一个业务层的设备类
            DevStatus          model    = null;
            StatInfo           statInfo = null;

            DataTable dt = bll.GetDevAddrList().Tables[0];

            foreach (DataRow dr in dt.Rows)
            {
                model               = new DevStatus();                     //描述设备综合状态的一个model
                model.Id            = Convert.ToInt32(dr["DevId"]);        //
                model.IsRegistered  = false;                               //是否注册
                model.RecvTime      = new DateTime();                      //时间
                model.Status        = (int)ESMonApp.CommStatus.DisConnect; //设置连接状态为非连接
                model.HeartBeatTime = new DateTime();                      //心跳时间
                model.SendTime      = new DateTime();                      //发送时间
                devStatusDic.Add(model.Id, model);

                byte[] addr   = (byte[])(dr["NodeId"]);
                UInt32 nodeId = Utility.BytesToUINT32(addr, 0, false);
                devAddrDic.Add(nodeId, model.Id);
            }


            dt = bll.GetDevRelatedStat("").Tables[0];
            foreach (DataRow dr in dt.Rows)
            {
                statInfo = new StatInfo();
                int devId = Convert.ToInt32(dr["DevId"]);
                statInfo.StatId     = Convert.ToInt32(dr["StatId"]);
                statInfo.Country    = dr["Country"].ToString();
                statInfo.StatCodeUp = int.Parse(dr["StatCodeUp"].ToString());

                devRelatedStatDic.Add(devId, statInfo);
            }
        }