Invalidate a call recording¶
This operation marks a previously imported recording invalid without deleting vendor-side data — it removes the local import-status tracking row and annotates the vendor system's attached-data description instead.
| Field | Value |
|---|---|
| Operation ID | OP-AV-02 |
| Trigger | External caller invokes IAudioVideoService.InvalidateRecording(CallRecording recording). |
| Inputs | CallRecording — must be non-null; unlike most other public methods in this library, there is no explicit null check before dereferencing recording.Id*. |
| Outputs | None (void). |
| Primary components | AudioVideoService.InvalidateRecording |
| Entry point | Application\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\AudioVideoService.cs |
Steps¶
- Guard: throw
NotImplementedExceptionif the service was constructed via the degraded constructor (_enableServicesFlag == false). - If
recordingis null: aNullReferenceExceptionsurfaces from the laterrecording.Iddereference rather than a validated argument exception — a null-guarding inconsistency compared to other methods in this library*. - Remove the local import status row by calling
_importStatusManager.RemoveStatus(recording.Id), deleting theAudioImportStatusrow if present. - Mark the recording invalid at the vendor by calling
_recordingSystem.MarkInvalid(recording), which delegates toCallRexServiceProxy.MarkInvalid. The proxy calls the vendorUpdateAttachedDataByCallLogIDSOAP method with anAttachedDataContainerwhoseDescriptionis prefixed"Invalid:" + recording.Description— BR-AV-10.
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([InvalidateRecording invoked]) --> Guard{Degraded mode?}
Guard -->|Yes| ErrNotImpl([NotImplementedException])
Guard -->|No| Remove[Remove AudioImportStatus row]
Remove --> MarkInvalid[Mark invalid at CallRex<br>BR-AV-10]
MarkInvalid --> End([Return])
Failure and edge-case behavior¶
- A null
recordingargument raises an unguardedNullReferenceExceptioninstead of a validatedArgumentNullException, unlike theEnforce.ArgumentNotNullpattern used elsewhere in this library*. - Degraded-mode construction blocks this operation entirely with
NotImplementedException. - The vendor recording is never deleted by this operation — only its attached-data description is annotated, preserving the underlying vendor record.
Related documentation¶
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.
Sources¶
Application\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\AudioVideoService.csApplication\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\ImportStatusManager.csApplication\SAIF.Application.Services.AudioVideo\Services\ClientProxies\ThirdParty\CallRexServiceProxy.cs