public ActionResult CustomerCdContentTracking(CustomerCdConentTrackingModelFilter filter = null, int pageNumber = 1, long eventId = 0) { int totalRecords = 0; if (eventId > 0) { filter = new CustomerCdConentTrackingModelFilter { EventId = eventId } } ; var model = _operationsReportingService.GetCustomerCdContentTrackingModel(pageNumber, _pageSize, filter, out totalRecords); if (model == null) { model = new CustomerCdContentTrackingListModel(); } model.Filter = filter; var currentAction = ControllerContext.RouteData.Values["action"].ToString(); Func <int, string> urlFunc = pn => Url.Action(currentAction, new { pageNumber = pn, filter.EventId, filter.CustomerId, filter.CustomerName, }); model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc); return(View(model)); }
public CustomerCdContentTrackingListModel Create(IEnumerable <EventCustomer> eventCustomers, IEnumerable <Customer> customers, IEnumerable <OrderedPair <long, long> > orderIds, IEnumerable <CdContentGeneratorTracking> cdContentGeneratorTrackings, IEnumerable <OrderedPair <long, string> > idNamePairs) { var model = new CustomerCdContentTrackingListModel(); var customerCdContentTrackingModels = new List <CustomerCdContentTrackingModel>(); eventCustomers.ToList().ForEach(ec => { var customer = customers.Where(c => c.CustomerId == ec.CustomerId). FirstOrDefault(); var orderId = orderIds.Where(o => o.SecondValue == ec.Id).Select( o => o.FirstValue).FirstOrDefault(); var cdContentGeneratorTracking = cdContentGeneratorTrackings.Where( ccgt => ccgt.EventCustomerResultId == ec.Id).Select( ccgt => ccgt).FirstOrDefault(); var downloadedBy = string.Empty; if (cdContentGeneratorTracking != null && cdContentGeneratorTracking.DownloadedByOrgRoleUserId.HasValue) { downloadedBy = idNamePairs.Where( inp => inp.FirstValue == cdContentGeneratorTracking.DownloadedByOrgRoleUserId.Value).Select(inp => inp.SecondValue).FirstOrDefault(); } customerCdContentTrackingModels.Add( new CustomerCdContentTrackingModel { EventId = ec.EventId, CustomerId = customer.CustomerId, Name = customer.Name.FullName, OrderId = orderId, CdContentGenerated = cdContentGeneratorTracking != null ? cdContentGeneratorTracking.IsContentGenerated : false, CdContentDownloaded = cdContentGeneratorTracking != null ? cdContentGeneratorTracking.IsContentDownloaded : false, DownloadedBy = downloadedBy, DownloadedTime = cdContentGeneratorTracking != null ? cdContentGeneratorTracking.DownloadedDate : null, CdContentTrackingId = cdContentGeneratorTracking != null ? cdContentGeneratorTracking.Id : 0 } ); }); model.Collection = customerCdContentTrackingModels; return(model); }