Yes a bash script could be used too. but I went the C# way if at some point multithread processing is required. Handling shared memory of concurrent procedures is much easier in C#, remember for this to work we need to id the record events sequentially among several log files.
the calling list DB only has the last call result for a given record.
If a record is dialed more than once due to treatments or the user resetting the records, those attempt results other than the last can only be found on ICON (if installed) or on the rep files if Outbound Record History is enabled and configured. that is why I imported the rep files into MongoDB. With those files, all the events for all the dial attempts can be analysed.