static void AuditTransactions(int TransactionCount, PCSAudit _Audit, PCSDataContext _PCSContext) { if (TransactionCount < _Audit.TransRecordCount) { Log.LogInfoMessage($"About to audit transactions for lane {_Audit.Lane.LaneCode} : {_Audit.AuditDate.ToShortDateString()} : {_Audit.AuditHour}"); List <int> MissingTransactions = new List <int>(); for (int i = _Audit.TransStartSeqNumber; i <= _Audit.TransEndSeqNumber; i++) { int i_ = i; // avoid closure issues if (!_PCSContext.Transactions.Any(x => x.LaneTransSeqNr == i_ && x.Session.LaneGUID == _Audit.LaneGuid)) { Log.LogTrace($"Missing transaction: {_Audit.Lane.LaneCode} : {i}"); MissingTransactions.Add(i); } } if (MissingTransactions.Count > 0) { Log.LogInfoMessage($"About to request {MissingTransactions.Count} transactions for lane {_Audit.Lane.LaneCode}"); TollDataRequestClient.RequestDataStatic(_Audit.Lane.LaneCode, DataTypeRequest.Transaction, MissingTransactions); } else { _Audit.TransAuditStatus = (int)AuditStatus.ValidatedCorrect; } } else { _Audit.TransAuditStatus = (int)AuditStatus.ValidatedCorrect; } }
static void Main(string[] args) { TollDataRequestClient.RequestDataStatic("13MS", DataTypeRequest.Transaction, new List <int> { 0 }); }