Esempio n. 1
0
        /// <summary>
        /// 标签报警测试
        /// </summary>
        /// <param name="binTagID">标签编码</param>
        /// <param name="IsStartAlarm">true-开始报警,false-停止报警</param>
        /// <param name="shortMsg">调用报警函数简短消息提示</param>
        /// <param name="detailMsg">调用报警函数详细消息提示</param>
        /// <returns></returns>
        private bool StartOrStopAlarm(string binTagID, bool IsStartAlarm, out string shortMsg, out string detailMsg)
        {
            try
            {
                int  BinTagLightAlartCount = 3; //层位标签报警测试时亮灯次数
                int  BinTagSoundAlartCount = 3; //层位标签报警测试时鸣音次数
                bool ServiceResult         = false;
                if (string.IsNullOrEmpty(binTagID))
                {
                    shortMsg  = "标签编码不能为空";
                    detailMsg = "用于报警测试的标签编码不能为空!请编辑标签编码后再进行报警测试!";
                }

                //从数据库数据字典读取亮点次数
                BinTagLightAlartCount = DAL.DbCommonMethod.GetTagFirstLightCount();

                //从数据库数据字典读取鸣音次数
                BinTagSoundAlartCount = DAL.DbCommonMethod.GetTagFirstSoundCount();

                ServiceReference_DeviceService.DeviceServiceClient client = new ServiceReference_DeviceService.DeviceServiceClient();
                client.Open();
                if (IsStartAlarm)
                {
                    //调用服务端标签报警函数
                    ServiceResult = client.TagControl(binTagID, BinTagLightAlartCount, BinTagSoundAlartCount);
                }
                else
                {
                    //调用服务端标签报警函数
                    ServiceResult = client.TagControl(binTagID, 0, 0);
                }
                client.Close();

                if (ServiceResult)
                {
                    shortMsg  = IsStartAlarm ? "报警已开启" : "报警已停止";
                    detailMsg = "标签[" + binTagID + "]已" + (IsStartAlarm ? "开启报警!" : "停止报警");
                    return(true);
                }
                else
                {
                    shortMsg  = IsStartAlarm ? "报警开启失败" : "报警停止失败";
                    detailMsg = "标签[" + binTagID + "]" + (IsStartAlarm ? "报警开启失败!" : "报警停止失败!");
                    return(false);
                }
            }
            catch (Exception ex)
            {
                shortMsg  = IsStartAlarm ? "报警开启失败" : "报警停止失败";
                detailMsg = "标签[" + binTagID + "]" + (IsStartAlarm ? "报警开启失败!" : "报警停止失败!") + "。详细原因:" + LogHelper.GetExceptionMsg(ex);
                return(false);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 标签报警测试
        /// </summary>
        /// <param name="binTagID">标签编码</param>
        /// <param name="IsStartAlarm">true-开始报警,false-停止报警</param>
        /// <param name="shortMsg">调用报警函数简短消息提示</param>
        /// <param name="detailMsg">调用报警函数详细消息提示</param>
        /// <returns></returns>
        private bool StartOrStopAlarm(string[] binTagID, bool IsStartAlarm, out string shortMsg)
        {
            shortMsg = "";
            try
            {
                int BinTagLightAlartCount = 3; //层位标签报警测试时亮灯次数
                int BinTagSoundAlartCount = 3; //层位标签报警测试时亮灯次数

                //从数据库数据字典读取亮点次数
                BinTagLightAlartCount = DAL.DbCommonMethod.GetTagFirstLightCount();

                //从数据库数据字典读取鸣音次数
                BinTagSoundAlartCount = DAL.DbCommonMethod.GetTagFirstSoundCount();

                ServiceReference_DeviceService.DeviceServiceClient client = new ServiceReference_DeviceService.DeviceServiceClient();
                client.Open();

                if (IsStartAlarm)
                {
                    //调用服务端标签报警函数
                    //同时发送多个标签控制命令,函数立即返回
                    client.TagControlAsyn(binTagID, BinTagLightAlartCount, BinTagSoundAlartCount);
                }
                else
                {
                    client.TagControlAsyn(binTagID, 0, 0);
                }

                return(true);
            }
            catch (Exception ex)
            {
                shortMsg = "报警失败!" + Utility.LogHelper.GetExceptionMsg(ex);
                return(false);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 标签报警测试
        /// </summary>
        /// <param name="binTagID">标签编码</param>
        /// <param name="IsStartAlarm">true-开始报警,false-停止报警</param>
        /// <param name="shortMsg">调用报警函数简短消息提示</param>
        /// <param name="detailMsg">调用报警函数详细消息提示</param>
        /// <returns></returns>
        private bool StartOrStopAlarm(string binTagID, bool IsStartAlarm, out string shortMsg, out string detailMsg)
        {
            try
            {
                int  BinTagLightAlartCount = 3; //层位标签报警测试时亮灯次数
                int  BinTagSoundAlartCount = 3; //层位标签报警测试时鸣音次数
                bool ServiceResult         = false;
                if (string.IsNullOrEmpty(binTagID))
                {
                    shortMsg  = "标签编码不能为空";
                    detailMsg = "用于报警测试的标签编码不能为空!请编辑标签编码后再进行报警测试!";
                }

                ////从配置文件读取亮灯次数
                //if (System.Configuration.ConfigurationManager.AppSettings.AllKeys.Contains("BinTagLightAlartCount"))
                //{
                //    int temp = 0;
                //    string configValue = System.Configuration.ConfigurationManager.AppSettings["BinTagLightAlartCount"].ToString();
                //    if (int.TryParse(configValue, out temp))
                //        BinTagLightAlartCount = temp;
                //}

                ////从配置文件读取鸣笛次数
                //if (System.Configuration.ConfigurationManager.AppSettings.AllKeys.Contains("BinTagSoundAlartCount"))
                //{
                //    int temp = 0;
                //    string configValue = System.Configuration.ConfigurationManager.AppSettings["BinTagSoundAlartCount"].ToString();
                //    if (int.TryParse(configValue, out temp))
                //        BinTagSoundAlartCount = temp;
                //}

                //从数据库数据字典读取亮点次数
                BinTagLightAlartCount = DAL.DbCommonMethod.GetTagFirstLightCount();

                //从数据库数据字典读取鸣音次数
                BinTagSoundAlartCount = DAL.DbCommonMethod.GetTagFirstSoundCount();

                ServiceReference_DeviceService.DeviceServiceClient client = new ServiceReference_DeviceService.DeviceServiceClient();
                client.Open();
                if (IsStartAlarm)
                {
                    //调用服务端标签报警函数
                    ServiceResult = client.TagControl(binTagID, BinTagLightAlartCount, BinTagSoundAlartCount);
                }
                else
                {
                    //调用服务端标签报警函数
                    ServiceResult = client.TagControl(binTagID, 0, 0);
                }
                client.Close();

                if (ServiceResult)
                {
                    shortMsg  = IsStartAlarm ? "报警已开启" : "报警已停止";
                    detailMsg = "标签[" + binTagID + "]已" + (IsStartAlarm ? "开启报警!" : "停止报警");
                    return(true);
                }
                else
                {
                    shortMsg  = IsStartAlarm ? "报警开启失败" : "报警停止失败";
                    detailMsg = "标签[" + binTagID + "]" + (IsStartAlarm ? "报警开启失败!" : "报警停止失败!") + "。服务端返回False。";
                    return(false);
                }
            }
            catch (Exception ex)
            {
                shortMsg  = IsStartAlarm ? "报警开启失败" : "报警停止失败";
                detailMsg = "标签[" + binTagID + "]" + (IsStartAlarm ? "报警开启失败!" : "报警停止失败!") + "。详细原因:" + LogHelper.GetExceptionMsg(ex);
                return(false);
            }
        }