Ejemplo n.º 1
0
        /// <summary>
        /// 添加设备的监听事件
        /// </summary>
        /// <param name="appkey"></param>
        /// <param name="infokey"></param>
        public void ListenEquipAll(string appkey, string infokey)
        {
            DataResult dr = new DataResult();

            if (string.IsNullOrEmpty(appkey) || string.IsNullOrEmpty(infokey))
            {
                dr = ApiCode.Code1003(dr);
            }
            else
            {
                dr = ServerLib.VerifyService(appkey, infokey, 1);
            }
            if (dr.code != 200)
            {
                string drs = new JavaScriptSerializer().Serialize(dr);
                ServerLib.ErrorLog(drs, "");
                return;
            }

            Dictionary <int, myEquipItem> equipItem = Proxy_DataCenter.EqpItemDict;

            foreach (myEquipItem my in equipItem.Values)
            {
                my.EquipItem.PropertyChanged += EquipItem_PropertyChanged;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取设备ycp,yxp测点的实时状态并添加监听事件
        /// </summary>
        /// <param name="select">设备号</param>
        /// <param name="appkey"></param>
        /// <param name="infokey"></param>
        public void StartListen(int select, string appkey, string infokey)
        {
            DataResult dr = new DataResult();

            dr = null;

            if (string.IsNullOrEmpty(appkey) || string.IsNullOrEmpty(infokey))
            {
                dr = ApiCode.Code1003(dr);
            }
            else
            {
                Clients.Caller.sendAll("开始验证身份", "message");
                try
                {
                    dr = ServerLib.VerifyService(appkey, infokey, 1);
                }
                catch (Exception ex)
                {
                    Clients.Caller.sendAll("身份验证失败:" + ex, "message");
                }
            }
            if (dr.code != 200)
            {
                string drs = new JavaScriptSerializer().Serialize(dr);
                ServerLib.ErrorLog(drs, "");
                return;
            }

            myEquipItem equipItem = Proxy_DataCenter.EqpItemDict[select];

            var ycp = "[";
            Dictionary <int, myProxy_YCItem> dictEquipItem_ycp = equipItem.YCItemDict;

            foreach (myProxy_YCItem my in dictEquipItem_ycp.Values)
            {
                ycp += "{\"m_iYCNo\":\"" + my.m_iYCNo + "\",\"m_YCNm\":\"" + my.m_YCNm + "\",\"m_YCValue\":\"" + my.m_YCValue.ToString() + "\",\"m_AdviceMsg\":\"" + my.m_AdviceMsg + "\",\"m_IsAlarm\":\"" + my.m_IsAlarm + "\",\"m_Unit\":\"" + my.m_Unit + "\"},";
                my.PropertyChanged += DictEquipItem_PropertyChanged_ycp;
            }
            ycp = ycp.Substring(0, ycp.Length - 1);
            if (ycp != "")
            {
                ycp += "]";
            }
            else
            {
                ycp = "[]";
            }
            Clients.Caller.sendAll(ycp, "ycp");

            var yxp = "[";
            Dictionary <int, myProxy_YXItem> dictEquipItem_yxp = equipItem.YXItemDict;

            foreach (myProxy_YXItem my in dictEquipItem_yxp.Values)
            {
                yxp += "{\"m_iYXNo\":\"" + my.m_iYXNo + "\",\"m_YXNm\":\"" + my.m_YXNm + "\",\"m_YXState\":\"" + my.m_YXState + "\",\"m_AdviceMsg\":\"" + my.m_AdviceMsg + "\",\"m_IsAlarm\":\"" + my.m_IsAlarm + "\"},";
                my.PropertyChanged += DictEquipItem_PropertyChanged_yxp;
            }
            yxp = yxp.Substring(0, yxp.Length - 1);
            if (yxp != "")
            {
                yxp += "]";
            }
            else
            {
                yxp = "[]";
            }

            Clients.Caller.sendAll(yxp, "yxp");
        }