Пример #1
0
        private void LogGenerateAction(Action action, string courseDir, AdaptCourseData courseData)
        {
            action();

            CreateJsonFile(courseDir, Config.CourseLogFilename, JsonConvert.SerializeObject(new
                                                                                            GenerateLogModel()
            {
                TimestampUTc = DateTime.UtcNow,
                CourseName   = courseData.Course.Title,
                Articles     = courseData.Articles.Count,
                Blocks       = courseData.Blocks.Count,
                Components   = courseData.Components.Count,
                Pages        = courseData.Pages.Count
            }));
        }
Пример #2
0
        public void CreateCourseJsonFiles(string courseId, string language, CourseFileTypeEnum type, AdaptCourseData courseData)
        {
            var courseDir = GetCourseFolder(courseId, language, type);

            LogGenerateAction(() =>
            {
                // make sure directory for course exists
                Directory.CreateDirectory(courseDir);

                // course data
                CreateJsonFile(courseDir, Config.ContentObjectsFilename, FixEmptyRichTextFields(JsonConvert.SerializeObject(courseData.Pages)));
                CreateJsonFile(courseDir, Config.ArticlesFilename, FixEmptyRichTextFields(JsonConvert.SerializeObject(courseData.Articles)));
                CreateJsonFile(courseDir, Config.BlocksFilename, FixEmptyRichTextFields(JsonConvert.SerializeObject(courseData.Blocks)));
                CreateJsonFile(courseDir, Config.ComponentsFilename, FixEmptyRichTextFields(JsonConvert.SerializeObject(courseData.Components)));

                // course config
                CreateJsonFile(courseDir, Config.CourseFilename, CombineDefaultAndCustomCourseConfig(courseData.Course));
            }, courseDir, courseData);
        }