Example #1
0
        public void GetEvaluationSummaryFileForCentre_returns_expected_excel_data()
        {
            // Given
            using var expectedWorkbook = new XLWorkbook(
                      TestContext.CurrentContext.TestDirectory + EvaluationSummaryDownloadRelativeFilePath
                      );
            GivenEvaluationSummaryDataServiceReturnsDataInExampleSheet();

            var filterData = new ActivityFilterData(
                DateTime.Parse("2020-9-1"),
                DateTime.Parse("2021-9-1"),
                null,
                null,
                null,
                CourseFilterType.None,
                ReportInterval.Months
                );

            // When
            var resultBytes = evaluationSummaryService.GetEvaluationSummaryFileForCentre(101, filterData);

            using var resultsStream  = new MemoryStream(resultBytes);
            using var resultWorkbook = new XLWorkbook(resultsStream);

            // Then
            SpreadsheetTestHelper.AssertSpreadsheetsAreEquivalent(expectedWorkbook, resultWorkbook);
        }
Example #2
0
        public IActionResult DownloadEvaluationSummaries(
            int?jobGroupId,
            int?courseCategoryId,
            int?customisationId,
            string startDate,
            string endDate,
            ReportInterval reportInterval
            )
        {
            var centreId = User.GetCentreId();
            var adminCategoryIdFilter = User.GetAdminCourseCategoryFilter();

            var dateRange =
                activityService.GetValidatedUsageStatsDateRange(startDate, endDate, centreId);

            if (dateRange == null)
            {
                return(new NotFoundResult());
            }

            var filterData = new ActivityFilterData(
                dateRange.Value.startDate,
                dateRange.Value.endDate,
                jobGroupId,
                adminCategoryIdFilter ?? courseCategoryId,
                customisationId,
                customisationId.HasValue ? CourseFilterType.Course : CourseFilterType.CourseCategory,
                reportInterval
                );

            var content  = evaluationSummaryService.GetEvaluationSummaryFileForCentre(centreId, filterData);
            var fileName = $"DLS Evaluation Stats {DateTime.Today:yyyy-MM-dd}.xlsx";

            return(File(
                       content,
                       FileHelper.GetContentTypeFromFileName(fileName),
                       fileName
                       ));
        }