Example #1
0
        private static void AuditIncidents(int IncidentCount, PCSAudit _Audit, PCSDataContext _PCSContext)
        {
            if (IncidentCount < _Audit.IncidentRecordCount)
            {
                List <int> MissingIncidents = new List <int>();

                for (int i = _Audit.IncidentStartSeqNumber; i <= _Audit.IncidentEndSeqNumber; i++)
                {
                    int i_ = i; // avoid closure issues

                    var exists = (from inc in _PCSContext.Incidents.Where(x => x.IncidentSeqNr == i_)
                                  join sl in _PCSContext.StaffLogins.Where() on inc.StaffLoginGUID equals sl.StaffLoginGUID
                                  where sl.LocationGUID == _Audit.LaneGuid
                                  select inc.IncidentGUID).Any();

                    if (!exists)
                    {
                        MissingIncidents.Add(i);
                    }
                }

                TollDataImportDataRequestClient.RequestDataStatic(int.Parse(_Audit.Lane.LaneCode.Substring(0, 2)), DataTypeRequest.Incident, MissingIncidents);

                Log.LogInfoMessage(string.Format("Incidents missing between {0}h00 and {1}h00: {2}", _Audit.AuditHour - 1, _Audit.AuditHour, MissingIncidents.Count));
            }
        }
Example #2
0
        /*private void AuditDateFiles(DateTime Date)
         * {
         *  var PreviousDay = Date.PreviousDay();
         *
         *  using (PCSAgentDataContext PCSContext = new PCSAgentDataContext())
         *  {
         *      foreach (Audit audit in PCSContext.AuditRepository.Get(x => x.TransAuditStatus != (int)AuditStatus.ValidatedCorrect || x.IncidentAuditStatus != (int)AuditStatus.ValidatedCorrect ||
         *                                                                      x.SessionAuditStatus != (int)AuditStatus.ValidatedCorrect || x.StaffLoginAuditStatus != (int)AuditStatus.ValidatedCorrect)
         *                                                            .Where(x => x.AuditDate >= PreviousDay)
         *                                                            .Take(20))
         *      {
         *          Log.LogInfoMessage(string.Format("Auditing {0} {1} {2}", audit.Lane.LaneCode, audit.AuditDate.ToShortDateString(), audit.AuditHour));
         *
         *          Audit audit_ = audit; // avoid closure issues
         *          DateTime StartDate = audit_.AuditDate.Date;
         *          DateTime EndDate = audit_.AuditDate.Date.AddDays(1);
         *
         *          var TransactionCount = PCSContext.TransactionRepository.Count(x => x.TransDate.Hour == audit_.AuditHour && x.TransDate > StartDate && x.TransDate < EndDate);
         *          var IncidentCount = PCSContext.IncidentRepository.Count(x => x.IncidentSetDate.Hour == audit_.AuditHour && x.IncidentSetDate > StartDate && x.IncidentSetDate < EndDate);
         *          var LoginsCount = PCSContext.StaffLoginRepository.Count(x => x.StartDate.Hour == audit_.AuditHour && x.StartDate > StartDate && x.StartDate < EndDate);
         *          var SessionCount = PCSContext.SessionRepository.Count(x => x.StartDate.Hour == audit_.AuditHour && x.StartDate > StartDate && x.StartDate < EndDate);
         *
         *          AuditTransactions(TransactionCount, audit, PCSContext);
         *          AuditIncidents(IncidentCount, audit, PCSContext);
         *          AuditStaffLogins(LoginsCount, audit);
         *          AuditSessions(SessionCount, audit, PCSContext);
         *      }
         *
         *      PCSContext.Save();
         *  }
         * }*/

        private static void AuditTransactions(int TransactionCount, PCSAudit _Audit, PCSDataContext _PCSContext)
        {
            if (TransactionCount < _Audit.TransRecordCount)
            {
                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))
                    {
                        MissingTransactions.Add(i);
                    }
                }

                TollDataImportDataRequestClient.RequestDataStatic(int.Parse(_Audit.Lane.LaneCode.Substring(0, 2)), DataTypeRequest.Transaction, MissingTransactions);
                _Audit.TransAuditStatus = (int)AuditStatus.ValidatedIncorrect;

                Log.LogInfoMessage(string.Format("Transactions missing between {0}h00 and {1}h00: {2}", _Audit.AuditHour - 1, _Audit.AuditHour, MissingTransactions.Count));
            }
        }