示例#1
0
        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));
        }