public HealthPlanRevenueEventListModel GetEventListByHealthPlan(HealthPlanRevenueEventModelFilter filter, int pageNumber, int pageSize, out int totalRecords)
        {
            var firstCreatedHealthPlanRevenue = _healthPlanRevenueRepository.GetHealthPlanRevenueForEventListing(filter.HealthPlanId);

            totalRecords = 0;
            if (firstCreatedHealthPlanRevenue == null)
            {
                return(null);
            }

            filter.DateFrom = firstCreatedHealthPlanRevenue.DateFrom;
            filter.DateTo   = filter.DateTo ?? DateTime.Today.AddDays(1);

            var events = _eventRepository.GetEventListByHealthPlanId(pageNumber, pageSize, filter, out totalRecords);

            if (events == null || !events.Any())
            {
                return(null);
            }

            var eventIds = events.Select(e => e.Id).ToList();
            var hosts    = _hostRepository.GetEventHosts(eventIds);

            var customersAttended = _eventRepository.GetAttendedCustomers(eventIds);

            return(_healthplanRevenueListFactory.GetEventListByHealthPlan(events, hosts, customersAttended));
        }
        private HealthPlanRevenueEventListModel SelectHealthPlanRevenueEventList(long healthPlanId, int pageNumber = 1)
        {
            int pageSize = 10;
            int totalRecords;
            var filter = new HealthPlanRevenueEventModelFilter();

            filter.HealthPlanId = healthPlanId;
            var model = _healthPlanRevenueService.GetEventListByHealthPlan(filter, pageNumber, pageSize, out totalRecords);

            if (model == null)
            {
                model = new HealthPlanRevenueEventListModel();
            }

            var currentAction          = "HealthPlanEventInfo";
            Func <int, string> urlFunc = pn => Url.Action(currentAction,
                                                          new
            {
                pageNumber = pn,
                filter.HealthPlanId
            });

            model.PagingModel = new PagingModel(pageNumber, pageSize, totalRecords, urlFunc);

            return(model);
        }