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;
            }
        }
Beispiel #2
0
 static void Main(string[] args)
 {
     TollDataRequestClient.RequestDataStatic("13MS", DataTypeRequest.Transaction, new List <int> {
         0
     });
 }