//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()}'"); } }
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); } }
//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()}'"); } }
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); }