public static RecordingLevel GetRecordingLevel(GetInteractionArguments args) { using (NexusContext ctx = new NexusContext()) { Circuit circuit = ctx.Circuits.FirstOrDefault(c => c.Ani == args.Ani && c.SiteId == args.SiteId); if (circuit == null) { throw new ArgumentException("Invalid ANI or Site ID"); } return(GetRecordingLevel(args.Ani, args.SiteId, args.InmateId, args.ExternalIdentifier, circuit.RecordingLevel)); } }
public static void SetIsRecorded(this EventCallStartMsg msg) { if (!msg.IsDataValid() || String.IsNullOrWhiteSpace(msg.Header?.CalledNumber)) { return; } GetInteractionArguments args = new GetInteractionArguments(); args.Ani = msg.Header.Ani; args.InmateId = msg.Header.Pin; args.ExternalIdentifier = msg.Header.CalledNumber; args.SiteId = msg.Header.SiteId; RecordingLevel recordingLevel = CircuitRepo.GetRecordingLevel(args); msg.Data.Recorded = recordingLevel != RecordingLevel.DoNotRecord; }