//Return Event Defintions using Contract as an indentifier to traverse the Event mapping. public HashSet <EventDefinition> retrieveEventDefinitionsUsingContract(ContractDefinition contract) { if (EventMapping.ContainsKey(contract)) { return(EventMapping[contract]); } else { return(new HashSet <EventDefinition>()); } }
//Function to insert an event into the argument contract. public void InsertEventInContract(ContractDefinition contract, EventDefinition eventDef) { //if the event map does not contain the contract, then add it //if the eventMap does not contain the event definition, then add it. if (EventMapping.ContainsKey(contract) == false) { EventMapping[contract] = new HashSet <EventDefinition>(); } if (EventMapping[contract].Contains(eventDef) == false) { EventMapping[contract].Add(eventDef); } }
//function to check whether an event name is contain in a contract. public bool containsEventName(ContractDefinition contract, string eventName) { if (!EventMapping.ContainsKey(contract)) { return(false); } foreach (EventDefinition eventDef in EventMapping[contract]) { if (eventName.Equals(eventDef.Name)) { return(true); } } return(false); }