public ActionResult TextReminder(TextReminderModelFilter filter = null, int pageNumber = 1) { int totalRecords; var model = _eventCustomerReportingService.GetTextReminderReport(pageNumber, _pageSize, filter, out totalRecords); if (model == null) { model = new TextReminderListModel(); } model.Filter = filter; var currentAction = ControllerContext.RouteData.Values["action"].ToString(); Func <int, string> urlFunc = pn => Url.Action(currentAction, new { pageNumber = pn, filter.FromDate, filter.ToDate, filter.EventId, filter.CustomerId, filter.HealthPlanId, filter.ShowSmsOptedCustomers, filter.ShowSmsNotOptedCustomers }); model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc); return(View(model)); }
public TextReminderListModel Create(IEnumerable <EventCustomer> eventCustomers, EventVolumeListModel eventListModel, IEnumerable <Customer> customers, IEnumerable <OrganizationRoleUser> agents, IEnumerable <Role> roles, IEnumerable <OrderedPair <long, string> > agentIdNamePairs) { var model = new TextReminderListModel(); var textReminderModels = new List <TextReminderViewModel>(); eventCustomers.ToList().ForEach(ec => { var eventModel = eventListModel.Collection.Where(e => e.EventCode == ec.EventId).FirstOrDefault(); var customer = customers.Where(c => c.CustomerId == ec.CustomerId).FirstOrDefault(); var registeredBy = (ec.DataRecorderMetaData == null || ec.DataRecorderMetaData.DataRecorderCreator == null ? null : agents.Where(a => a.Id == ec.DataRecorderMetaData.DataRecorderCreator.Id).FirstOrDefault()); string agentName, agentRole; agentRole = agentName = string.Empty; if (registeredBy != null) { if (GetParentRoleIdByRoleId(registeredBy.RoleId) == (long)Roles.Customer) { agentRole = "Internet"; agentName = ""; } else { agentRole = roles.Where(r => r.Id == registeredBy.RoleId).FirstOrDefault().DisplayName; agentName = agentIdNamePairs.Where(ap => ap.FirstValue == registeredBy.Id).FirstOrDefault().SecondValue; } } var textReminderModel = new TextReminderViewModel { CustomerId = ec.CustomerId, OptedForSmsStaus = ec.EnableTexting ? "Yes" : "No", EventId = eventModel.EventCode, CustomerName = customer.Name.FullName, AgentName = agentName + " (" + agentRole + ")", }; textReminderModels.Add(textReminderModel); }); model.Collection = textReminderModels; return(model); }