private async Task <RouteNodeMarkedForDeletion> MarkDeleteRouteNode(RouteNode routeNode) { await _geoDatabase.MarkDeleteRouteNode(routeNode.Mrid); routeNode.ApplicationName = _applicationSettings.ApplicationName; return(_routeNodeEventFactory.CreateMarkedForDeletion(routeNode)); }
private async Task MarkToBeDeleted(object message, string errorMessage) { if (message is RouteSegmentMessage) { var routeSegmentMessage = (RouteSegmentMessage)message; // We get this to check if it is deleted it is deleted if it is null var shadowTableSegment = await _geoDatabase.GetRouteSegmentShadowTable(routeSegmentMessage.After.Mrid); if (!routeSegmentMessage.After.MarkAsDeleted || shadowTableSegment != null) { _logger.LogError($"RouteSegement with id {routeSegmentMessage.After.Mrid}, error message: {errorMessage}"); await _geoDatabase.MarkDeleteRouteSegment(routeSegmentMessage.After.Mrid); } } else if (message is RouteNodeMessage) { var routeNodeMessage = (RouteNodeMessage)message; // We get this to check if it is deleted it is deleted if it is null var shadowTableNode = await _geoDatabase.GetRouteNodeShadowTable(routeNodeMessage.After.Mrid); if (!routeNodeMessage.After.MarkAsDeleted || shadowTableNode != null) { _logger.LogError($"RouteNode with id {routeNodeMessage.After.Mrid}, error message: {errorMessage}"); await _geoDatabase.MarkDeleteRouteNode(routeNodeMessage.After.Mrid); } } else { throw new Exception($"Message of type '{message.GetType()}' is not supported."); } }