public void LoadSagas(IEnumerable <Type> sagaTypes) { foreach (var sagaType in sagaTypes) { if (_sagaDetails.ContainsKey(sagaType)) { _logger.LogWarning( "Saga type {SagaType} has already been added, skipping it this time", sagaType.PrettyPrint()); continue; } var sagaDetails = SagaDetails.From(sagaType); _sagaDetails[sagaType] = sagaDetails; foreach (var aggregateEventType in sagaDetails.AggregateEventTypes) { var sagaDetailsList = _sagaDetailsByAggregateEvent.GetOrAdd( aggregateEventType, new List <SagaDetails>()); sagaDetailsList.Add(sagaDetails); } } }
public void LoadSagas(IEnumerable <Type> sagaTypes) { foreach (var sagaType in sagaTypes) { var sagaDetails = SagaDetails.From(sagaType); foreach (var aggregateEventType in sagaDetails.AggregateEventTypes) { var sagaDetailsList = _sagaDetailsByAggregateEvent.GetOrAdd( aggregateEventType, new List <SagaDetails>()); sagaDetailsList.Add(sagaDetails); } } }