private AnnualReminderNotificationViewModel GetAnnualReminderNotificationModel(DateTime todayDate, int maxNumberofRecordstoFetch, int showNoOfRecords, string sourceCode, string checkOutUrl, Customer customer, string annualReminderPhoneTollFree, string message) { int totalEvents; var model = GetEvents(customer.Address.ZipCode.Zip, maxNumberofRecordstoFetch, out totalEvents); if (totalEvents == 0) { _logger.Info(string.Format("No event found for {0} on {1} for zip {2} for Customer [Id: {3}]", message, todayDate.ToShortDateString(), customer.Address.ZipCode.Zip, customer.CustomerId)); _logger.Info("\n"); return(null); } var events = model.Events.Where(e => e.AvailableSlots > 0).Select(e => e).ToArray().Take(showNoOfRecords); if (events.IsNullOrEmpty()) { _logger.Info(string.Format("Event found but no available slot for {0} on {1} for zip {2} for Customer [Id: {3}]", message, todayDate.ToShortDateString(), customer.Address.ZipCode.Zip, customer.CustomerId)); _logger.Info("\n"); return(null); } checkOutUrl = checkOutUrl + "?Radius=50&ZipCode=" + customer.Address.ZipCode.Zip; return(_emailNotificationModelsFactory.GetAnnualReminderNotificationViewModel(customer, sourceCode, checkOutUrl, annualReminderPhoneTollFree, events)); }