Beispiel #1
0
 public IStateBuilder AddEventHandler(string elementName, string elementType, StateTriggerKinds triggerKind, TriggerStates triggerState, Func <Task> methodToUse)
 {
     // ToDo: null or empty checks
     Logger.LogDebug($"<AddEventHandler, elementName = {elementName}, elementType = {elementType}, sTK = {triggerKind}, tS = {triggerState}, methodToUse = {methodToUse}");
     StateChangeEventHandlers.Add(new StateChangeEventHandler()
     {
         ElementName = elementName, ElementType = elementType, TriggerKind = triggerKind, TriggerState = triggerState, MethodToUse = methodToUse
     });
     Logger.LogDebug($"AddEventHandler>");
     return(this);
 }
Beispiel #2
0
 public Func <Task> FromStateHandlers(string elementName, string elementType, StateTriggerKinds sTK, TriggerStates tS)
 {
     //ToDo: null checks
     try {
         return(StateChangeEventHandlers
                .Where(triggerHandler => triggerHandler.ElementName == elementName &&
                       triggerHandler.ElementType == elementType &&
                       triggerHandler.TriggerKind == sTK &&
                       triggerHandler.TriggerState == tS)
                .Single()
                .MethodToUse);
     } catch {
         Logger.LogError(StringConstants.InvalidFromStateHandlersExceptionMessage, elementName, elementType, sTK, tS);
         throw new Exception(); // ToDo: create a new exception and use it here
     }
 }