コード例 #1
0
        public static bool HasSubCondition(this IDataServer dserver, string sourceName, SubAlarmType alarmType)
        {
            IAlarmServer server = dserver as IAlarmServer;

            if (server == null)
            {
                return(false);
            }
            var conds = server.QueryConditions(sourceName);

            if (conds == null)
            {
                return(false);
            }
            foreach (ICondition cond in conds)
            {
                var subs = cond.SubConditions;
                if (subs != null && subs.Count > 0)
                {
                    foreach (var sub in subs)
                    {
                        if (sub.SubAlarmType == alarmType)
                        {
                            return(true);
                        }
                    }
                }
            }
            return(false);
        }
コード例 #2
0
        public static bool HasAlarm(this IDataServer dserver, string sourceName)
        {
            IAlarmServer server = dserver as IAlarmServer;

            if (server == null)
            {
                return(false);
            }
            List <ICondition> conds = server.ConditionList as List <ICondition>;

            return(conds == null || conds.Count == 0 ? false : conds.BinarySearch(new DigitAlarm(0, sourceName)) >= 0);
        }
コード例 #3
0
        public static SubCondition FindSubConditon(this IAlarmServer server, string sourceName, SubAlarmType alarmType)
        {
            var conds = server.QueryConditions(sourceName);

            if (conds == null)
            {
                return(SubCondition.Empty);
            }
            foreach (ICondition cond in conds)
            {
                SubCondition sub = cond.FindSubConditon(alarmType);
                if (sub.SubAlarmType == alarmType)
                {
                    return(sub);
                }
            }
            return(SubCondition.Empty);
        }