public ActionResult TestsBookedReport(TestsBookedListModelFilter filter = null)
        {
            if (filter == null)
            {
                filter = new TestsBookedListModelFilter();
            }

            return(CreateExportQueue(filter, ExportableReportType.TestBooked, _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId));
        }
        public string TestBookedReportExport(TestsBookedListModelFilter filter, long userId)
        {
            var dataGen = new ExportableDataGenerator <TestsBookedModel, TestsBookedListModelFilter>(_eventCustomerReportingService.GetTestsBooked, Logger);

            var model = dataGen.GetData(filter);

            var exporter = ExportableDataGeneratorProcessManager <ViewModelBase, ModelFilterBase> .GetCsvExporter <TestsBookedModel>();

            return(WriteCsv(GetExportableFileName("TestBookedReport"), exporter, model.Collection, userId));
        }
Example #3
0
        public ActionResult TestsBooked(TestsBookedListModelFilter filter = null, int pageNumber = 1)
        {
            int totalRecords;

            if (filter == null)
            {
                filter = new TestsBookedListModelFilter {
                    FromDate = DateTime.Now.Date
                };
            }
            filter.FromDate = filter.FromDate.HasValue ? filter.FromDate.Value : DateTime.Now.Date;

            if (filter != null && filter.FromDate < DateTime.Today)
            {
                return(View(new TestsBookedListModel {
                    Filter = filter, FeedbackMessage = FeedbackMessageModel.CreateFailureMessage("From date can not be past date.")
                }));
            }

            var model = _eventCustomerReportingService.GetTestsBooked(pageNumber, _pageSize, filter, out totalRecords);

            if (model == null)
            {
                model = new TestsBookedListModel();
            }
            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
            });

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

            return(View(model));
        }