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 })); }
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); }