예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
파일: UnitLoader.cs 프로젝트: epeshk/uLearn
        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);
        }
예제 #4
0
 public Unit(UnitSettings settings, DirectoryInfo directory)
 {
     Settings  = settings;
     Directory = directory;
 }