// // GET: /Operations/Download/ public ActionResult Index(ExportableReportsQueueFilter filter, int pageNumber = 1) { int totalRecords = 0; filter.RequestedBy = _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId; var model = _exportableReportsQueueService.GetExportableReportQueue(pageNumber, _pageSize, filter, out totalRecords); if (model == null) { model = new ExportableReportsQueueListModel(); } model.Filter = filter; var currentAction = ControllerContext.RouteData.Values["action"].ToString(); Func <int, string> urlFunc = pn => Url.Action(currentAction, new { pageNumber = pn, filter.ReportId, filter.FromDate, filter.ToDate, filter.RequestedBy }); model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc); return(View(model)); }
public IEnumerable <ExportableReportsQueue> GetExportableReportsQueue(int pageNumber, int pageSize, ExportableReportsQueueFilter filter, out int totalRecords) { using (var adapter = PersistenceLayer.GetDataAccessAdapter()) { var linqMetaData = new LinqMetaData(adapter); var query = (from erq in linqMetaData.ExportableReportsQueue where erq.RequestedBy == filter.RequestedBy select erq); if (filter.ReportId > 0) { query = query.Where(q => q.ReportId == filter.ReportId); } if (filter.FromDate.HasValue) { query = query.Where(q => q.RequestedOn >= filter.FromDate.Value); } if (filter.ToDate.HasValue) { query = query.Where(q => q.RequestedOn < filter.ToDate.Value.AddDays(1)); } query = (from q in query orderby q.RequestedOn descending select q); totalRecords = query.Count(); var entities = query.TakePage(pageNumber, pageSize).ToArray(); if (entities.Any()) { return(AutoMapper.Mapper.Map <IEnumerable <ExportableReportsQueueEntity>, IEnumerable <ExportableReportsQueue> >(entities)); } return(null); } }