Example #1
0
        //public methods
        public void Request(BaseOrchestrationRequest orchestrationRequest)
        {
            if (orchestrationRequest == null)
            {
                throw new OrchestrationException("Anfrage zur Orchestrierung darf nicht null sein", new ArgumentNullException(nameof(orchestrationRequest)));
            }

            var orchestrationRequestType = orchestrationRequest.GetType();

            if (!_orchestratableAvailabilityDicitonaDictionary.ContainsKey(orchestrationRequestType))
            {
                throw new OrchestrationException($"Orchestration vom Typ '{orchestrationRequestType}' sind nicht möglich, da es keinen registrierten Orchestratable dafür gibt");
            }

            var registeredOrchestratableType = _orchestratableAvailabilityDicitonaDictionary[orchestrationRequestType];

            if (registeredOrchestratableType == OrchestrationTypes.Delegate)
            {
                _delegateOrchestratableDictionary[orchestrationRequestType].Invoke(orchestrationRequest);
            }
            else
            {
                _orchestratableDictionary[orchestrationRequestType].HandleRequest(orchestrationRequest);
            }
        }
 public bool CanHandleRequest(BaseOrchestrationRequest orchestrationRequest)
 {
     if (orchestrationRequest is ConfirmationDialogRequestMessage confirmationDialogRequest)
     {
         return(confirmationDialogRequest.Request != null);
     }
     else if (orchestrationRequest is InfoDialogRequestMessage infoDialogRequest)
     {
         return(infoDialogRequest.Request != null);
     }
     else
     {
         return(false);
     }
 }
 //public methods
 public void HandleRequest(BaseOrchestrationRequest orchestrationRequest)
 {
     if (orchestrationRequest is ConfirmationDialogRequestMessage confirmationDialogRequest)
     {
         handleConfirmationDialogRequest(confirmationDialogRequest);
     }
     else if (orchestrationRequest is InfoDialogRequestMessage infoDialogRequest)
     {
         handleInfoDialogRequest(infoDialogRequest);
     }
     else
     {
         throw new OrchestrationException($"Unknown request message type '{orchestrationRequest?.GetType()}'");
     }
 }
Example #4
0
 public bool CanHandleRequest(BaseOrchestrationRequest orchestrationRequest)
 {
     if (orchestrationRequest is BillEditDialogRequestMessage confirmationDialogRequest)
     {
         return(confirmationDialogRequest.Request != null);
     }
     else if (orchestrationRequest is BillOverviewDialogRequestMessage billOverViewDialogRequest)
     {
         return(billOverViewDialogRequest.Request != null);
     }
     else if (orchestrationRequest is EntryOverviewDialogRequestMessage entryOverviewDialogRequest)
     {
         return(entryOverviewDialogRequest.Request != null);
     }
     else if (orchestrationRequest is ItemDuplicateDialogRequestMessage itemDuplicateDialogRequest)
     {
         return(itemDuplicateDialogRequest.Request != null);
     }
     else if (orchestrationRequest is ItemEditDialogRequestMessage itemEditDialogRequest)
     {
         return(itemEditDialogRequest.Request != null);
     }
     else if (orchestrationRequest is ItemOverviewDialogRequestMessage itemOverviewDialogRequest)
     {
         return(itemOverviewDialogRequest.Request != null);
     }
     else if (orchestrationRequest is SourceCopyDialogRequestMessage sourceCopyDialogRequest)
     {
         return(sourceCopyDialogRequest.Request != null);
     }
     else if (orchestrationRequest is SourceEditDialogRequestMessage sourceEditDialogRequest)
     {
         return(sourceEditDialogRequest.Request != null);
     }
     else if (orchestrationRequest is SourceOverviewDialogRequestMessage sourceOverviewDialogRequest)
     {
         return(sourceOverviewDialogRequest.Request != null);
     }
     else
     {
         return(false);
     }
 }
Example #5
0
 //public methods
 public void HandleRequest(BaseOrchestrationRequest orchestrationRequest)
 {
     if (orchestrationRequest is BillEditDialogRequestMessage billEditDialogRequest)
     {
         handleBillEditDialogRequest(billEditDialogRequest);
     }
     else if (orchestrationRequest is BillOverviewDialogRequestMessage billOverViewDialogRequest)
     {
         handleBillOverviewDialogRequest(billOverViewDialogRequest);
     }
     else if (orchestrationRequest is EntryOverviewDialogRequestMessage entryOverviewDialogRequest)
     {
         handleEntryOverviewDialogRequest(entryOverviewDialogRequest);
     }
     else if (orchestrationRequest is ItemDuplicateDialogRequestMessage itemDuplicateDialogRequest)
     {
         handleItemDuplicateDialogRequest(itemDuplicateDialogRequest);
     }
     else if (orchestrationRequest is ItemEditDialogRequestMessage itemEditDialogRequest)
     {
         handleItemEditDialogRequest(itemEditDialogRequest);
     }
     else if (orchestrationRequest is ItemOverviewDialogRequestMessage itemOverviewDialogRequest)
     {
         handleItemOverviewDialogRequest(itemOverviewDialogRequest);
     }
     else if (orchestrationRequest is SourceCopyDialogRequestMessage sourceCopyDialogRequest)
     {
         handleSourceCopyDialogRequest(sourceCopyDialogRequest);
     }
     else if (orchestrationRequest is SourceEditDialogRequestMessage sourceEditDialogRequest)
     {
         handleSourceEditDialogRequest(sourceEditDialogRequest);
     }
     else if (orchestrationRequest is SourceOverviewDialogRequestMessage sourceOverviewDialogRequest)
     {
         handleSourceOverviewDialogRequest(sourceOverviewDialogRequest);
     }
     else
     {
         throw new OrchestrationException($"Unknown request message type '{orchestrationRequest?.GetType()}'");
     }
 }
Example #6
0
        public bool CanOrchestrate(BaseOrchestrationRequest orchestrationRequest)
        {
            if (orchestrationRequest == null)
            {
                throw new OrchestrationException("Zu prüfende Orchestrierung darf nicht null sein", new ArgumentNullException(nameof(orchestrationRequest)));
            }

            var orchestrationRequestType = orchestrationRequest.GetType();

            if (!_orchestratableAvailabilityDicitonaDictionary.ContainsKey(orchestrationRequestType))
            {
                return(false);
            }

            var registeredOrchestratableType = _orchestratableAvailabilityDicitonaDictionary[orchestrationRequestType];

            if (registeredOrchestratableType == OrchestrationTypes.Delegate)
            {
                return(true);
            }
            var result = _orchestratableDictionary[orchestrationRequestType].CanHandleRequest(orchestrationRequest);

            return(result);
        }