public void PollForParsing() { try { var timeOfDay = DateTime.Now; if (_isDevEnvironment || timeOfDay.TimeOfDay > new TimeSpan(4, 0, 0)) { _logger.Info("Service started..."); var directoryInfo = DirectoryOperationsHelper.GetDirectories(_hkynParsePdfPath); if (directoryInfo.IsNullOrEmpty()) { _logger.Info("No Directory found for Parsing"); return; } foreach (var dirPath in directoryInfo) { try { var dirInfo = DirectoryOperationsHelper.GetDirectoryInfo(dirPath); if (dirInfo != null) { var files = DirectoryOperationsHelper.GetFiles(dirPath, "*.Pdf"); long eventid = 0; long.TryParse(dirInfo.Name, out eventid); if (eventid > 0) { var eventData = _eventRepository.GetById(eventid); if (files.IsNullOrEmpty()) { _logger.Info("No file found inside " + dirInfo.Name); if (eventData.EventDate > DateTime.Today.AddDays(-DeleteEmptyFolderAfter)) { DirectoryOperationsHelper.DeleteDirectory(dirPath, true); } continue; } ParseFilesForCustomer(dirPath, eventid); } else { _logger.Info("folder does not contain valid Name: " + dirInfo.Name); } } } catch (Exception ex) { _logger.Error("Some error occurred for Dir Path: " + dirPath); _logger.Error("Message: " + ex.Message); _logger.Error("Stack Trace: " + ex.StackTrace); } } } } catch (Exception ex) { _logger.Error("Some error occurred while parsing"); _logger.Error("Message: " + ex.Message); _logger.Error("Stack Trace: " + ex.StackTrace); } }