Exemplo n.º 1
0
        //
        // 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));
        }
Exemplo n.º 2
0
        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);
            }
        }