Exemplo n.º 1
0
        private string SortAndAddToMessage(ConcurrentBag <SPMWatchDogErrorEvent> errors)
        {
            var watchDogErrorEventRepository = SPMWatchDogErrorEventRepositoryFactory.Create();
            var SortedErrors = errors.OrderBy(x => x.SignalID).ThenBy(x => x.Phase).ToList();
            var ErrorMessage = "";

            foreach (var error in SortedErrors)
            {
                //if (!Settings.EmailAllErrors)
                //{
                //    //List<SPMWatchDogErrorEvent> RecordsFromTheDayBefore = new List<SPMWatchDogErrorEvent>();
                //    //compare to error log to see if this was failing yesterday
                //    if (Settings.WeekdayOnly && ScanDate.DayOfWeek == DayOfWeek.Monday)
                //        RecordsFromTheDayBefore =
                //            watchDogErrorEventRepository.GetSPMWatchDogErrorEventsBetweenDates(ScanDate.AddDays(-3),
                //                ScanDate.AddDays(-2).AddMinutes(-1));
                //    else
                //        RecordsFromTheDayBefore =
                //            watchDogErrorEventRepository.GetSPMWatchDogErrorEventsBetweenDates(ScanDate.AddDays(-1),
                //                ScanDate.AddMinutes(-1));
                //}
                //if (Settings.EmailAllErrors || FindMatchingErrorInErrorTable(error) == false )
                //{
                //    var signalRepository = SignalsRepositoryFactory.Create();
                //    var signal = signalRepository.GetLatestVersionOfSignalBySignalID(error.SignalID);
                //    //   Add to email if it was not failing yesterday
                //    ErrorMessage += error.SignalID;
                //    ErrorMessage += " - ";
                //    ErrorMessage += signal.PrimaryName;
                //    ErrorMessage += " & ";
                //    ErrorMessage += signal.SecondaryName;
                //    if (error.Phase > 0)
                //    {
                //        ErrorMessage += " - Phase ";
                //        ErrorMessage += error.Phase;
                //    }
                //    ErrorMessage += " (" + error.Message + ")";
                //    ErrorMessage += "\n";
                //}
            }
            try
            {
                watchDogErrorEventRepository.AddListAndSaveToDatabase(errors.ToList());
            }
            catch (DbEntityValidationException ex)
            {
                foreach (var entityValidationErrors in ex.EntityValidationErrors)
                {
                    foreach (var validationError in entityValidationErrors.ValidationErrors)
                    {
                        Console.WriteLine("Property: " + validationError.PropertyName + " Error: " +
                                          validationError.ErrorMessage);
                    }
                }
            }
            return(ErrorMessage);
        }
Exemplo n.º 2
0
 //public List<SPMWatchDogErrorEvent> ErrorMessages = new List<SPMWatchDogErrorEvent>();
 public void StartScan()
 {
     if (!Settings.WeekdayOnly || Settings.WeekdayOnly && ScanDate.DayOfWeek != DayOfWeek.Saturday &&
         ScanDate.DayOfWeek != DayOfWeek.Sunday)
     {
         var watchDogErrorEventRepository = SPMWatchDogErrorEventRepositoryFactory.Create();
         var signalRepository             = SignalsRepositoryFactory.Create();
         var signals = signalRepository.EagerLoadAllSignals();
         CheckForRecords(signals);
         CheckAllSignals(signals);
         CheckSignalsWithData();
         CheckApplicationEvents(signals);
         CreateAndSendEmail();
     }
 }