示例#1
0
        public FileInfo GenerateOrFindZip(string courseId, Slide slide)
        {
            var courseDirectory = cacheDirectory.GetSubdirectory(courseId);
            var zipFile         = courseDirectory.GetFile($"{slide.Id}.zip");

            if (!zipFile.Exists)
            {
                courseDirectory.EnsureExists();
                log.Info($"Собираю zip-архив с упражнением: курс {courseId}, слайд «{slide.Title}» ({slide.Id}), файл {zipFile.FullName}");
                builder.BuildStudentZip(slide, zipFile);
            }

            return(zipFile);
        }
        public FileInfo GenerateOrFindZip(string courseId, Slide slide)
        {
            if (!IsEnabled)
            {
                throw new InvalidOperationException("ExerciseStudentZipsCache is disabled: can not generate zip archive with exercise");
            }

            var courseDirectory = cacheDirectory.GetSubdirectory(courseId);
            var zipFile         = courseDirectory.GetFile($"{slide.Id}.zip");

            if (!zipFile.Exists)
            {
                courseDirectory.EnsureExists();
                log.Info($"Собираю zip-архив с упражнением: курс {courseId}, слайд «{slide.Title}» ({slide.Id}), файл {zipFile.FullName}");
                builder.BuildStudentZip(slide, zipFile);
            }

            return(zipFile);
        }