public EventMessageModel(EventRuleCatalog eventRuleCatalog, string triggeredTime, bool eventSent, string messageDocumentId, JObject payload) { MessageId = eventRuleCatalog.MessageCatalogId; EventRuleId = eventRuleCatalog.Id; EventRuleName = eventRuleCatalog.Name; EventRuleDescription = eventRuleCatalog.Description; TriggeredTime = triggeredTime; EventSent = eventSent; MessageDocumentId = messageDocumentId; Payload = payload; }
public void DeleteById(int id) { using (CDStudioEntities dbEntity = new CDStudioEntities()) { EventRuleCatalog existingData = dbEntity.EventRuleCatalog.Find(id); if (existingData == null) { throw new CDSException(10701); } dbEntity.EventRuleCatalog.Remove(existingData); dbEntity.SaveChanges(); } }
public int Create(int companyId, Format_Create parseData) { using (CDStudioEntities dbEntity = new CDStudioEntities()) { EventRuleCatalog newData = new EventRuleCatalog(); newData.CompanyId = companyId; newData.MessageCatalogId = parseData.MessageCatalogId; newData.Name = parseData.Name; newData.Description = parseData.Description ?? ""; newData.AggregateInSec = parseData.AggregateInSec; newData.ActiveFlag = parseData.ActiveFlag; dbEntity.EventRuleCatalog.Add(newData); dbEntity.SaveChanges(); return(newData.Id); } }
public Format_Detail GetById(int id) { using (CDStudioEntities dbEntity = new CDStudioEntities()) { EventRuleCatalog existingData = (from c in dbEntity.EventRuleCatalog.AsNoTracking() where c.Id == id select c).SingleOrDefault <EventRuleCatalog>(); if (existingData == null) { throw new CDSException(10701); } return(new Format_Detail() { Id = existingData.Id, MessageCatalogId = existingData.MessageCatalogId, Name = existingData.Name, MessageCatalogName = existingData.MessageCatalog == null ? "" : existingData.MessageCatalog.Name, Description = existingData.Description ?? "", AggregateInSec = existingData.AggregateInSec, ActiveFlag = existingData.ActiveFlag }); } }
private Dictionary <string, RuleEngineItem> createRuleEngineItem(EventRuleCatalog eventRuleCatalog) { List <DetailForRuleEngineModel> detailForRuleEngineModelList = new List <DetailForRuleEngineModel>(); foreach (EventRuleItem erItem in eventRuleCatalog.EventRuleItem) { DetailForRuleEngineModel returnData = new DetailForRuleEngineModel(); returnData.Id = erItem.Id; returnData.EventRuleCatalogId = eventRuleCatalog.Id; returnData.Ordering = erItem.Ordering; returnData.MessageElementId = erItem.MessageElementId; returnData.EqualOperation = erItem.EqualOperation; returnData.Value = erItem.Value; returnData.BitWiseOperation = erItem.BitWiseOperation; returnData.MessageElementDataType = erItem.MessageElement1.ElementDataType; if (erItem.MessageElement != null) { returnData.MessageElementFullName = erItem.MessageElement.ElementName + "_" + erItem.MessageElement1.ElementName; } else { returnData.MessageElementFullName = erItem.MessageElement1.ElementName; } detailForRuleEngineModelList.Add(returnData); } Dictionary <string, RuleEngineItem> ruleEngineItems = new Dictionary <string, RuleEngineItem>(); int index = 0; foreach (var detailForRuleEngineModel in detailForRuleEngineModelList) { RuleEngineItem rei = new RuleEngineItem(); rei.ElementName = detailForRuleEngineModel.MessageElementFullName; rei.DataType = AlarmRuleItemEngineUtility.GetSupportDataType(detailForRuleEngineModel.MessageElementDataType); rei.OrderOperation = detailForRuleEngineModel.BitWiseOperation; rei.Result = false; _consoleLog.MessageEventDebug("--ElementName={0}, BitWiseOperation={1}", rei.ElementName, rei.OrderOperation); if (rei.DataType == SupportDataTypeEnum.String && (string.IsNullOrEmpty(detailForRuleEngineModel.Value) || detailForRuleEngineModel.Value.ToLower().Equals("null"))) { detailForRuleEngineModel.Value = "null"; } if (rei.DataType == SupportDataTypeEnum.Numeric || rei.DataType == SupportDataTypeEnum.Bool) { rei.Equality = createCompiledRuleFunc(rei.DataType, detailForRuleEngineModel.EqualOperation, detailForRuleEngineModel.Value); } else { // SupportDataTypeEnum.String rei.Equality = null; rei.StringRightValue = detailForRuleEngineModel.Value; if (detailForRuleEngineModel.EqualOperation.Equals("=") || detailForRuleEngineModel.EqualOperation.Equals("!=")) { rei.StringEqualOperation = detailForRuleEngineModel.EqualOperation; } else { throw new ArgumentNullException("String equal operation is not supported - " + detailForRuleEngineModel.EqualOperation); } _consoleLog.MessageEventDebug("----ruleText=({0} {1} {2})", rei.ElementName, detailForRuleEngineModel.EqualOperation, rei.StringRightValue); } // Add the index to avoid the duplicate key ruleEngineItems.Add(rei.ElementName + "-" + index, rei); index++; } return(ruleEngineItems); }
private List <EventRuleCatalog> generateEventRuleCatalogList(int messageCatalogId) { List <EventRuleCatalog> eventRuleCatalogList = new List <EventRuleCatalog>(); EventRuleCatalog erc1, erc2, erc3, erc4; switch (messageCatalogId) { case 79: erc1 = new EventRuleCatalog(); erc1.Id = 54; erc1.MessageCatalogId = messageCatalogId; erc1.Name = "MachineA_Color_Red_Warning"; erc1.Description = "MachineA_Color_Red_Warning"; erc1.AggregateInSec = 0; erc1.ActiveFlag = true; erc1.EventRuleItem = generateEventRuleItemList(erc1.Id); erc1.EventInAction = generateEventInActionList(erc1.Id); eventRuleCatalogList.Add(erc1); erc2 = new EventRuleCatalog(); erc2.Id = 55; erc2.MessageCatalogId = messageCatalogId; erc2.Name = "MachineB_Color_Green_Warning"; erc2.Description = "MachineB_Color_Green_Warning"; erc2.AggregateInSec = 30; erc2.ActiveFlag = true; erc2.EventRuleItem = generateEventRuleItemList(erc2.Id); erc2.EventInAction = generateEventInActionList(erc2.Id); eventRuleCatalogList.Add(erc2); erc3 = new EventRuleCatalog(); erc3.Id = 56; erc3.MessageCatalogId = messageCatalogId; erc3.Name = "MaA_NotWhite_n_NotBlack_OR_MaB_Yellow"; erc3.Description = "MaA_NotWhite_n_NotBlack_OR_MaB_Yellow"; erc3.AggregateInSec = 60; erc3.ActiveFlag = true; erc3.EventRuleItem = generateEventRuleItemList(erc3.Id); erc3.EventInAction = generateEventInActionList(erc3.Id); eventRuleCatalogList.Add(erc3); erc4 = new EventRuleCatalog(); erc4.Id = 59; erc4.MessageCatalogId = messageCatalogId; erc4.Name = "MachineA_Color_Black_Warning"; erc4.Description = "MachineA_Color_Black_Warning"; erc4.AggregateInSec = 60; erc4.ActiveFlag = false; erc4.EventRuleItem = generateEventRuleItemList(erc4.Id); erc4.EventInAction = generateEventInActionList(erc4.Id); eventRuleCatalogList.Add(erc4); break; case 84: break; case 85: erc1 = new EventRuleCatalog(); erc1.Id = 60; erc1.MessageCatalogId = messageCatalogId; erc1.Name = "TemperatureAlert"; erc1.Description = "TemperatureAlert"; erc1.AggregateInSec = 60; erc1.ActiveFlag = true; erc1.EventRuleItem = generateEventRuleItemList(erc1.Id); erc1.EventInAction = generateEventInActionList(erc1.Id); eventRuleCatalogList.Add(erc1); break; default: throw new ArgumentException(); } return(eventRuleCatalogList); }