示例#1
0
        public IActionResult Index()
        {
            var centreId         = User.GetCentreId();
            var categoryIdFilter = User.GetAdminCourseCategoryFilter();

            var filterData = Request.Cookies.RetrieveFilterDataFromCookie(categoryIdFilter);

            Response.Cookies.SetReportsFilterCookie(filterData, DateTime.UtcNow);

            var activity = activityService.GetFilteredActivity(centreId, filterData);

            var(jobGroupName, courseCategoryName, courseName) = activityService.GetFilterNames(filterData);

            var filterModel = new ReportsFilterModel(
                filterData,
                jobGroupName,
                courseCategoryName,
                courseName,
                categoryIdFilter == null
                );

            var evaluationResponseBreakdowns = evaluationSummaryService.GetEvaluationSummary(centreId, filterData);

            var model = new ReportsViewModel(
                activity,
                filterModel,
                evaluationResponseBreakdowns,
                filterData.StartDate,
                filterData.EndDate ?? DateTime.Today,
                activityService.GetActivityStartDateForCentre(centreId, categoryIdFilter) != null,
                activityService.GetCourseCategoryNameForActivityFilter(categoryIdFilter)
                );

            return(View(model));
        }
示例#2
0
        public void ReportsFilterModel_correctly_formats_date_range()
        {
            // Given
            var filterData = new ActivityFilterData(
                DateTime.Parse("2001-01-01"),
                DateTime.Parse("2002-02-02"),
                null,
                null,
                null,
                CourseFilterType.None,
                ReportInterval.Years
                );

            // When
            var model = new ReportsFilterModel(filterData, "", "", "", false);

            // Then
            model.StartDate.Should().Be("01/01/2001");
            model.EndDate.Should().Be("02/02/2002");
        }