Esempio n. 1
0
        /// <summary>
        /// A method to insert a new Adapter
        /// </summary>
        /// <param name="djs">An adapter entity with information about the new adapter</param>
        public void insert(List <Model.CasicPress> djs)
        {
            if (djs.Count <= 0)
            {
                return;
            }

            ICasicPress             dal  = SensorHub.DALFactory.CasicPress.Create();
            List <Model.CasicPress> list = new List <Model.CasicPress>();

            foreach (Model.CasicPress dj in djs)
            {
                if (dal.queryCountByDevAndUpTime(dj.DEVCODE, dj.UpTime) <= 0)
                {
                    list.Add(dj);
                }
            }
            if (list.Count > 0)
            {
                dal.insert(djs);
            }
        }
Esempio n. 2
0
        private AlarmRecordInfo getAlarmRecord(AlarmRuleInfo alarmRuleInfo, Model.CasicPress pressInfo)
        {
            if (null != alarmRuleInfo)
            {
                float       curValue  = float.Parse(pressInfo.Data);
                IDevice     deviceDal = SensorHub.DALFactory.Device.Create();
                ICasicPress pressDal  = SensorHub.DALFactory.CasicPress.Create();

                AlarmRecordInfo alarmRecordInfo = new AlarmRecordInfo();
                alarmRecordInfo.ACTIVE           = true;
                alarmRecordInfo.DEVICE_CODE      = pressInfo.DEVCODE;
                alarmRecordInfo.DEVICE_ID        = alarmRuleInfo.DeviceId;
                alarmRecordInfo.DEVICE_TYPE_NAME = deviceDal.getDevTypeByCode(pressInfo.DEVCODE);
                alarmRecordInfo.ITEMNAME         = "压力值";
                alarmRecordInfo.ITEMVALUE        = curValue.ToString();
                alarmRecordInfo.MESSAGE_STATUS   = 0;
                alarmRecordInfo.RECORDCODE       = "";
                alarmRecordInfo.RECORDDATE       = System.DateTime.Now;

                if (alarmRuleInfo.HighValue != 0 && curValue > alarmRuleInfo.HighValue)
                {
                    alarmRecordInfo.MESSAGE = "压力超限";
                    return(alarmRecordInfo);
                }

                if (alarmRuleInfo.Saltation != 0)
                {
                    float lastData = pressDal.getLastData(pressInfo);
                    if (-1 != lastData && Math.Abs(curValue - lastData) > alarmRuleInfo.Saltation)
                    {
                        alarmRecordInfo.MESSAGE = "压力突变";
                        return(alarmRecordInfo);
                        // return null;
                    }
                }
            }
            return(null);
        }