private void CreateRule(string pFriendlyName, TheThing pTriggerThing, string pTriggerProperty, eRuleTrigger pTriggerCondition, string pTriggerValue, bool pDoLogRule, bool bIsRuleActive) { TriggerStartTime = DateTimeOffset.MinValue; TriggerEndTime = DateTimeOffset.MaxValue; //TriggerObjectType = "CDE_THING"; TriggerObject = pTriggerThing.cdeMID.ToString(); if (!TheCommonUtils.IsNullOrWhiteSpace(pTriggerProperty)) { TriggerProperty = pTriggerProperty; } else { pTriggerProperty = "Value"; } TriggerCondition = pTriggerCondition; TriggerValue = pTriggerValue; FriendlyName = pFriendlyName; IsRuleLogged = pDoLogRule; IsRuleActive = bIsRuleActive; if (string.IsNullOrEmpty(MyBaseThing.EngineName)) { MyBaseThing.EngineName = eEngineName.ThingService; } MyBaseThing.DeviceType = eKnownDeviceTypes.TheThingRule; MyBaseThing.ID = MyBaseThing.cdeMID.ToString(); RegisterEvent("RuleFired", null); MyBaseThing.SetIThingObject(this); }
public TheThingRule(Guid pKey, string pFriendlyName, TheThing pTriggerThing, string pTriggerProperty, eRuleTrigger pTriggerCondition, string pTriggerValue, bool pDoLogRule, bool bIsRuleActive) { if (pTriggerThing == null) { return; } MyBaseThing = new TheThing() { cdeMID = pKey }; CreateRule(pFriendlyName, pTriggerThing, pTriggerProperty, pTriggerCondition, pTriggerValue, pDoLogRule, bIsRuleActive); }