public void PollForSendingProspectCustomerReminders()
        {
            try
            {
                var notificationTypes = _notificationTypeRepository.GetAll();

                var notificationIsActive =
                    notificationTypes.Where(
                        nt =>
                        (nt.NotificationTypeAlias == NotificationTypeAlias.OneDayAfterProspectCreationFollowup ||
                         nt.NotificationTypeAlias == NotificationTypeAlias.TwoWeekAfterProspectCreationFollowup ||
                         nt.NotificationTypeAlias == NotificationTypeAlias.ThreeWeekAfterProspectCreationFollowup ||
                         nt.NotificationTypeAlias == NotificationTypeAlias.FourWeekAfterProspectCreationFollowup ||
                         nt.NotificationTypeAlias == NotificationTypeAlias.FiveWeekAfterProspectCreationFollowup ||
                         nt.NotificationTypeAlias == NotificationTypeAlias.SixWeekAfterProspectCreationFollowup ||
                         nt.NotificationTypeAlias == NotificationTypeAlias.SevenWeekAfterProspectCreationFollowup) &&
                        nt.IsActive).Any();

                if (!notificationIsActive)
                {
                    return;
                }

                var todayDate = DateTime.Now.Date;
                var maxNumberOfRecordsToFetch = _settings.MaxNumberOfRecordsToFetch;
                var showNoOfRecords           = _settings.ShowNoOfRecords;
                var checkOutUrl = _settings.CheckOutUrl;

                var mailerMessage = "OneDayAfterProspectCreationFollowup";
                var customers     = _prospectCustomerRepository.GetProspectCustomersForReminder(1);
                SendMail(customers, mailerMessage, todayDate, maxNumberOfRecordsToFetch, showNoOfRecords, checkOutUrl, NotificationTypeAlias.OneDayAfterProspectCreationFollowup, EmailTemplateAlias.OneDayAfterProspectCreationFollowup);

                mailerMessage = "OneWeekAfterProspectCreationFollowup";
                customers     = _prospectCustomerRepository.GetProspectCustomersForReminder(8);
                SendMail(customers, mailerMessage, todayDate, maxNumberOfRecordsToFetch, showNoOfRecords, checkOutUrl, NotificationTypeAlias.OneWeekAfterProspectCreationFollowup, EmailTemplateAlias.OneWeekAfterProspectCreationFollowup);

                mailerMessage = "TwoWeekAfterProspectCreationFollowup";
                customers     = _prospectCustomerRepository.GetProspectCustomersForReminder(15);
                SendMail(customers, mailerMessage, todayDate, maxNumberOfRecordsToFetch, showNoOfRecords, checkOutUrl, NotificationTypeAlias.TwoWeekAfterProspectCreationFollowup, EmailTemplateAlias.TwoWeekAfterProspectCreationFollowup);

                mailerMessage = "ThreeWeekAfterProspectCreationFollowup";
                customers     = _prospectCustomerRepository.GetProspectCustomersForReminder(22);
                SendMail(customers, mailerMessage, todayDate, maxNumberOfRecordsToFetch, showNoOfRecords, checkOutUrl, NotificationTypeAlias.ThreeWeekAfterProspectCreationFollowup, EmailTemplateAlias.ThreeWeekAfterProspectCreationFollowup);

                mailerMessage = "FourWeekAfterProspectCreationFollowup";
                customers     = _prospectCustomerRepository.GetProspectCustomersForReminder(29);
                SendMail(customers, mailerMessage, todayDate, maxNumberOfRecordsToFetch, showNoOfRecords, checkOutUrl, NotificationTypeAlias.FourWeekAfterProspectCreationFollowup, EmailTemplateAlias.FourWeekAfterProspectCreationFollowup);

                mailerMessage = "FiveWeekAfterProspectCreationFollowup";
                customers     = _prospectCustomerRepository.GetProspectCustomersForReminder(36);
                SendMail(customers, mailerMessage, todayDate, maxNumberOfRecordsToFetch, showNoOfRecords, checkOutUrl, NotificationTypeAlias.FiveWeekAfterProspectCreationFollowup, EmailTemplateAlias.FiveWeekAfterProspectCreationFollowup);

                mailerMessage = "SixWeekAfterProspectCreationFollowup";
                customers     = _prospectCustomerRepository.GetProspectCustomersForReminder(43);
                SendMail(customers, mailerMessage, todayDate, maxNumberOfRecordsToFetch, showNoOfRecords, checkOutUrl, NotificationTypeAlias.SixWeekAfterProspectCreationFollowup, EmailTemplateAlias.SixWeekAfterProspectCreationFollowup);

                mailerMessage = "SevenWeekAfterProspectCreationFollowup";
                customers     = _prospectCustomerRepository.GetProspectCustomersForReminder(50);
                SendMail(customers, mailerMessage, todayDate, maxNumberOfRecordsToFetch, showNoOfRecords, checkOutUrl, NotificationTypeAlias.SevenWeekAfterProspectCreationFollowup, EmailTemplateAlias.SevenWeekAfterProspectCreationFollowup);
            }
            catch (Exception ex)
            {
                _logger.Error("Message:" + ex.Message);
                _logger.Error("StackTrace:" + ex.StackTrace);
            }
        }