private async void NotifyExternalServicesAboutSpanEquipmentDeletion(Guid spanEquipmentId, RouteNetworkElementIdList routeIdsAffected) { List <IdChangeSet> idChangeSets = new List <IdChangeSet> { new IdChangeSet("SpanEquipment", ChangeTypeEnum.Deletion, new Guid[] { spanEquipmentId }) }; var updatedEvent = new RouteNetworkElementContainedEquipmentUpdated( eventType: typeof(RouteNetworkElementContainedEquipmentUpdated).Name, eventId: Guid.NewGuid(), eventTimestamp: DateTime.UtcNow, applicationName: "UtilityNetworkService", applicationInfo: null, category: "EquipmentDeletion", idChangeSets: idChangeSets.ToArray(), affectedRouteNetworkElementIds: routeIdsAffected.ToArray() ); await _externalEventProducer.Produce(_topicName, updatedEvent); }
private async void NotifyExternalServicesAboutSpanEquipmentChange(Guid spanEquipmentId, ValidatedRouteNetworkWalk existingWalk, ValidatedRouteNetworkWalk newWalk) { var routeIdsAffected = new RouteNetworkElementIdList(); foreach (var id in existingWalk.RouteNetworkElementRefs) { routeIdsAffected.Add(id); } foreach (var id in newWalk.RouteNetworkElementRefs) { if (!routeIdsAffected.Contains(id)) { routeIdsAffected.Add(id); } } List <IdChangeSet> idChangeSets = new List <IdChangeSet> { new IdChangeSet("SpanEquipment", ChangeTypeEnum.Modification, new Guid[] { spanEquipmentId }) }; var updatedEvent = new RouteNetworkElementContainedEquipmentUpdated( eventType: typeof(RouteNetworkElementContainedEquipmentUpdated).Name, eventId: Guid.NewGuid(), eventTimestamp: DateTime.UtcNow, applicationName: "UtilityNetworkService", applicationInfo: null, category: "EquipmentModification.Moved", idChangeSets: idChangeSets.ToArray(), affectedRouteNetworkElementIds: routeIdsAffected.ToArray() ); await _externalEventProducer.Produce(_topicName, updatedEvent); }