private void ErrorMailSend(MemberTermByAbsenceFilter filter, ILogger logger) { try { var fileNotPostedModel = _emailNotificationModelsFactory.GetAbsenceByMemberViewModel(filter.Tag, filter.CorporateUploadId); _notifier.NotifySubscribersViaEmail(NotificationTypeAlias.AbsenceByMember, EmailTemplateAlias.AbsenceByMember, fileNotPostedModel, 0, 1, "Absence By Member"); } catch (Exception ex) { logger.Error("Error while sending File Not Posted notification"); logger.Error("Message:" + ex.Message); logger.Error("Stack Trace:" + ex.StackTrace); } }
private void UpdateMemberByFilter(MemberTermByAbsenceFilter filter) { int pageNumber = 1; int errorCount = 0; while (true) { int totalRecords; try { _logger.Info("Fetching Records for: Page Number " + PageSize + " Filter " + filter); var customerIds = _customerRepository.GetCustomerForTermByAbsence(pageNumber, PageSize, filter, out totalRecords); _logger.Info("Fetched Records for: Page Number " + PageSize + " Filter " + filter); if (customerIds.IsNullOrEmpty()) { break; } _logger.Info("Starting: Total Records: " + totalRecords); UpdateMemberEligibility(customerIds); _logger.Info("Completed: Total Records: " + totalRecords); errorCount = 0; } catch (Exception ex) { errorCount++; _logger.Info("Error occurred while Fetching Records"); _logger.Info("Error Message: " + ex.Message); _logger.Info("Error Stack Trace: " + ex.StackTrace); } if (errorCount >= 3) { ErrorMailSend(filter, _logger); return; } } }