public static UnitSettings CreateByTitle(string title, CourseSettings courseSettings) { var unitSettings = new UnitSettings { Id = title.ToDeterministicGuid(), Url = title.ToLatin(), Title = title, }; unitSettings.Scoring.CopySettingsFrom(courseSettings.Scoring); return(unitSettings); }
public static UnitSettings CreateByTitle(string title, CourseSettings courseSettings) { var unitSettings = new UnitSettings { /* We use Win1251 only for back compatibility. * In future all units will have Unit.xml with Id specified, so we will be able to switch to Encoding.UTF8 here or remove this function. */ Id = title.ToDeterministicGuid(Encoding.GetEncoding(1251)), Url = title.ToLatin(), Title = title, }; unitSettings.Scoring.CopySettingsFrom(courseSettings.Scoring); return(unitSettings); }
public static Unit LoadUnit(DirectoryInfo unitDir, CourseSettings courseSettings, int firstSlideIndex) { var unitFile = unitDir.GetFile("Unit.xml"); var unitSettings = unitFile.Exists ? UnitSettings.Load(unitFile, courseSettings) : UnitSettings.CreateByTitle(GetUnitTitleFromFile(unitDir), courseSettings); var unit = new Unit(unitSettings, unitDir); unit.Slides = unitDir.GetFiles() .Where(f => IsSlideFile(f.Name)) .OrderBy(f => f.Name) .Select((f, internalIndex) => LoadSlide(f, unit, firstSlideIndex + internalIndex, courseSettings)) .ToList(); unit.LoadInstructorNote(); return(unit); }
public Unit(UnitSettings settings, DirectoryInfo directory) { Settings = settings; Directory = directory; }