Exemplo n.º 1
0
        // GET api/values
        public IEnumerable <CoachingModuleDTO> Get()
        {
            //TODO: Find user
            var coachingModuleRepository = new CoachingModuleRepositoryDocumentDB();

            return(coachingModuleRepository.GetAllItems().Select(c => CoachingModuleDTOConverter.ConvertToDTO(c)));
        }
        public UpdateModuleResourceResponse Put(UpdateModuleExerciseRequest request)
        {
            var coachingCourseRepository         = new CoachingCourseRepositoryDocumentDB();
            var coachingModuleResourceRepository = new ModuleResourceRepositoryDocumentDb();
            var coachingModuleRepository         = new CoachingModuleRepositoryDocumentDB();
            var exerciseRepository = new CoachnigModuleExerciseResourceRepositoryDocumentDB();
            var userRepository     = new UserRepositoryDocumentDB();

            var module   = coachingModuleRepository.GetModuleById(request.ModuleId);
            var resource = exerciseRepository.GetResourceById(request.ResourceId);

            var coachingService = new CoachingCourseService(
                coachingCourseRepository,
                coachingModuleResourceRepository,
                coachingModuleRepository,
                exerciseRepository,
                userRepository);

            var newResource = new CoachingModuleExerciseResource()
            {
                RevisionHistory = resource.RevisionHistory,
                Elements        = request.UpdatedElements.Select(e => ModuleResourceDTOConverter.ConvertFromDTO(e, module)).ToList()
            };

            coachingService.UpdateModuleResurce(module, newResource);

            return(new UpdateModuleResourceResponse()
            {
                UpdatedResouceId = newResource.Id, UpdatedResouceVersion = newResource.Version, ParentResourceId = request.ResourceId
            });
        }
Exemplo n.º 3
0
        // GET api/5
        public CoachingModuleDTO Get(Guid id)
        {
            var coachingModuleRepository = new CoachingModuleRepositoryDocumentDB();

            return(CoachingModuleDTOConverter.ConvertToDTO(
                       coachingModuleRepository.GetItems(i => i.Id == id).SingleOrDefault()));
        }
        public UpdateModuleResourceResponse Put(UpdateModuleResourceRequest request)
        {
            var coachingCourseRepository         = new CoachingCourseRepositoryDocumentDB();
            var coachingModuleResourceRepository = new ModuleResourceRepositoryDocumentDb();
            var coachingModuleRepository         = new CoachingModuleRepositoryDocumentDB();
            var exerciseRepository = new CoachnigModuleExerciseResourceRepositoryDocumentDB();
            var userRepository     = new UserRepositoryDocumentDB();

            var module   = coachingModuleRepository.GetModuleById(request.ModuleId);
            var resource = coachingModuleResourceRepository.GetResourceById(request.ResourceId);

            var coachingService = new CoachingCourseService(
                coachingCourseRepository,
                coachingModuleResourceRepository,
                coachingModuleRepository,
                exerciseRepository,
                userRepository);

            var newResource = new CoachingModuleResource()
            {
                RevisionHistory = resource.RevisionHistory,
                Content         = request.UpdatedContent
            };

            coachingService.UpdateModuleResurce(module, newResource);

            return(new UpdateModuleResourceResponse()
            {
                UpdatedResouceId = newResource.Id, UpdatedResouceVersion = newResource.Version, ParentResourceId = request.ResourceId
            });
        }
Exemplo n.º 5
0
        public GetModuleResultsResponse UserModuleResults(Guid moduleId)
        {
            var userRepo = new UserRepositoryDocumentDB();
            var usr      = userRepo.GetUserById((Guid)HttpContext.Current.Items["UserId"]);

            var coachingModuleRepository = new CoachingModuleRepositoryDocumentDB();
            var module        = coachingModuleRepository.GetModuleById(moduleId);
            var moduleResults = usr.CourseAdmissions.Single().Results.Where(r =>
                                                                            r.Module.ModuleReferenceId == module.Id
                                                                            ).ToList();
            var moduleResult = new GetModuleResultsResponse()
            {
                ModuleResults = moduleResults.Select(mr =>
                                                     UserDtoConverter.ConvertScoreCardDto(mr)).ToList(),
                IsCompleted = moduleResults.All(mr => mr.IsCompleted)
            };

            var activeModule = moduleResults.FirstOrDefault(mr => !mr.IsCompleted);

            if (activeModule != null)
            {
                moduleResult.IsActive        = true;
                moduleResult.ActiveScoreCard = moduleResult.ModuleResults.First(mr => !mr.IsCompleted);
            }
            else
            {
                moduleResult.IsActive = false;
            }

            return(moduleResult);
        }
Exemplo n.º 6
0
        private GetUserResultsResponse UserResults(User usr)
        {
            //Load modules
            var coachingCourseRepository = new CoachingCourseRepositoryDocumentDB();
            var coachingModuleRepository = new CoachingModuleRepositoryDocumentDB();
            var moduleGroupRepository    = new ModuleGroupRepositoryDocumentDB();

            //TODO: Support multiple course admissions
            var course       = coachingCourseRepository.GetCourseById(usr.CourseAdmissions.Single().CourseId);
            var modules      = coachingModuleRepository.GetModulesWithIds(course.Modules.Select(m => m.ModuleReferenceId)).ToList();
            var moduleGroups = moduleGroupRepository.GetItemsWithIds(course.ModuleGroups);

            var userResults = new GetUserResultsResponse()
            {
                ModuleResults = modules.Select(m => {
                    var moduleResults = usr.CourseAdmissions.Single().Results.Where(r =>
                                                                                    r.Module.ModuleReferenceId == m.Id
                                                                                    ).ToList();

                    return(new ModuleResultsDto()
                    {
                        Module = CoachingModuleDTOConverter.ConvertToDTO(m),
                        ModuleResults = moduleResults.Select(mr =>
                                                             UserDtoConverter.ConvertScoreCardDto(mr)).ToList()
                    });
                }).ToList(),
                Groups = moduleGroups.Select(CoachingModuleDTOConverter.ConvertToDTO),
                User   = UserDtoConverter.ConvertUserToBaseDto(usr)
            };

            userResults.ActiveModule      = userResults.ModuleResults.FirstOrDefault(mr => mr.ModuleResults.Any(r => !r.IsCompleted)).Module;
            userResults.ActiveModuleIndex = modules.IndexOf(modules.Single(m => m.Id == userResults.ActiveModule.Id));

            return(userResults);
        }
Exemplo n.º 7
0
        public void UpdateModuleDescription(Guid moduleId, [FromBody] string description)
        {
            var coachingModuleRepository         = new CoachingModuleRepositoryDocumentDB();
            var coachingModuleResourceRepository = new ModuleResourceRepositoryDocumentDb();

            var coachingModule = coachingModuleRepository.GetModuleById(moduleId);

            coachingModule.Description = description;

            coachingModuleRepository.SaveItem(coachingModule);
        }
Exemplo n.º 8
0
        public IEnumerable <CoachingModuleDTO> Modules(Guid courseId)
        {
            var coachingCourseRepository = new CoachingCourseRepositoryDocumentDB();
            var coachingModuleRepository = new CoachingModuleRepositoryDocumentDB();

            //Get the course
            var course = coachingCourseRepository.GetCourseById(courseId);
            //Get modules in course
            var modules = coachingModuleRepository.GetItemsWithIds(course.Modules.Select(m => m.ModuleReferenceId)).OrderBy(m => m.ModuleIndex);

            return(modules.Select(m => CoachingModuleDTOConverter.ConvertToDTO(m)));
        }
        public void UpdateModuleName()
        {
            var courseName = "Course with modules";
            var courseRepo = new CoachingCourseRepositoryDocumentDB();
            var moduleRepo = new CoachingModuleRepositoryDocumentDB();
            var course     = new CoachingCourse(courseName);

            courseRepo.CreateCoachingCourse(course);

            var introduction = new CoachingModuleResource()
            {
                RevisionHistory = new ResourseRevisionHistoryReference(), Content = "<h1>&lt;Overskrift her&gt;</h1> <p>&lt;Kort tekst her&gt;</p> <div data-oembed-url='https://vimeo.com/ricardonilsson/coachingwill'> <div style='left: 0px; width: 100%; height: 0px; position: relative; padding-bottom: 56.2493%;'><iframe allowfullscreen='true' frameborder='0' mozallowfullscreen='true' src='//player.vimeo.com/video/77308630?byline=0&amp;badge=0&amp;portrait=0&amp;title=0' style='top: 0px; left: 0px; width: 100%; height: 100%; position: absolute;' webkitallowfullscreen='true'></iframe></div> </div> <h2>&lt;Overskrift, start p&aring; udvidet intro&gt;</h2> <p>&lt;Intro her&gt;</p> <h2>&lt;Overskrift, eksterne henvisninger&gt;</h2> <p><a href='http://wikipedia.org'>&lt;Eksempel p&aring; link&gt;</a></p>"
            };
            var exercise = new CoachingModuleExerciseResource()
            {
                RevisionHistory = new ResourseRevisionHistoryReference(), Elements = new List <ResourceExerciseElement>()
                {
                    new ResourceExerciseElement("<h1>&lt;Overskrift her&gt;</h1>  <p>&lt;Kort tekst her, efterfulgt af &gt;</p>  <SortableList/>")
                }
            };
            var reflection = new CoachingModuleExerciseResource()
            {
                RevisionHistory = new ResourseRevisionHistoryReference(), Elements = new List <ResourceExerciseElement>()
                {
                    new ResourceExerciseElement("<h1>&lt;Overskrift her&gt;</h1>  <p>&lt;Kort tekst her&gt;</p>  <h2>&nbsp;</h2>")
                }
            };

            var module = new CoachingModule
                         (
                "Some module, that is gonna have its name changed",
                introduction,
                exercise,
                reflection
                         );

            course.AddCoachingModule(module);
            moduleRepo.CreateModule(module);
            courseRepo.SaveCoachingCourse(course);

            moduleRepo = new CoachingModuleRepositoryDocumentDB();
            var foundModule = moduleRepo.GetItems(m => m.Id == module.Id).Single();

            Assert.IsNotNull(foundModule);

            module.Name = "Some module with a new name";
            moduleRepo.SaveModule(module);

            moduleRepo = new CoachingModuleRepositoryDocumentDB();
            var newFoundModule = moduleRepo.GetItems(m => m.Id == module.Id).Single();

            Assert.AreEqual(newFoundModule.Name, "Some module with a new name");
        }
Exemplo n.º 10
0
        public void SetupModulePeptalk()
        {
            var courseRep = new CoachingCourseRepositoryDocumentDB();
            var moduleRep = new CoachingModuleRepositoryDocumentDB();
            var groupRep  = new ModuleGroupRepositoryDocumentDB();

            //Find modules
            var allModules = moduleRep.GetAllItems();

            Assert.AreEqual(allModules.Count(), 12);

            var md1  = allModules.Single(m => m.ModuleIndex == 0);
            var md2  = allModules.Single(m => m.ModuleIndex == 1);
            var md3  = allModules.Single(m => m.ModuleIndex == 2);
            var md4  = allModules.Single(m => m.ModuleIndex == 3);
            var md5  = allModules.Single(m => m.ModuleIndex == 4);
            var md6  = allModules.Single(m => m.ModuleIndex == 5);
            var md7  = allModules.Single(m => m.ModuleIndex == 6);
            var md8  = allModules.Single(m => m.ModuleIndex == 7);
            var md9  = allModules.Single(m => m.ModuleIndex == 8);
            var md10 = allModules.Single(m => m.ModuleIndex == 9);
            var md11 = allModules.Single(m => m.ModuleIndex == 10);
            var md12 = allModules.Single(m => m.ModuleIndex == 11);

            md1.Peptalk  = "<p>Velkommen til Better Ways - vi hjælper dig med at finde vejen til dit nye job. Du er allerede godt på vej.</p><p>Dit kursus består af 12 moduler fordelt i 4 faser. Vi starter med at se på dit tidligere job og ligge en plan for den kommende tid. Hvis du har spørgsmål er du velkommen til at skrive til din coach. For at komme i gang skal du klikke på det første modul: Fyret. Hvad nu?</p>";
            md2.Peptalk  = "<p>Velkommen tilbage - du er nået til modul 2.<p></p>Husk at bevare optimismen. Din indstilling har betydning for hvordan du kommer videre.</p>";
            md3.Peptalk  = "<p>Velkommen tilbage - du er nået til modul 3 - det er nu tid til at finde ud af hvem du er.<br/>Hvordan går det med at følge din plan? Det kræver tålmodighed at indarbejde nye vaner.</p><p>Har du talt med din coach? Han/hun er klar til at hjælpe dig.</p>";
            md4.Peptalk  = "<p>Velkommen tilbage - du er nået til modul 2.<p>";
            md5.Peptalk  = "<p>Velkommen tilbage - du er nået til modul 2.<p>";
            md6.Peptalk  = "<p>Velkommen tilbage - du er nået til modul 2.<p>";
            md7.Peptalk  = "<p>Velkommen tilbage - du er nået til modul 2.<p>";
            md8.Peptalk  = "<p>Velkommen tilbage - du er nået til modul 2.<p>";
            md9.Peptalk  = "<p>Velkommen tilbage - du er nået til modul 2.<p>";
            md10.Peptalk = "<p>Velkommen tilbage - du er nået til modul 2.<p>";
            md11.Peptalk = "<p>Velkommen tilbage - du er nået til modul 2.<p>";
            md12.Peptalk = "<p>Velkommen tilbage - du er nået til modul 2.<p>";

            moduleRep.SaveItem(md1);
            moduleRep.SaveItem(md2);
            moduleRep.SaveItem(md3);
            moduleRep.SaveItem(md4);
            moduleRep.SaveItem(md5);
            moduleRep.SaveItem(md6);
            moduleRep.SaveItem(md7);
            moduleRep.SaveItem(md8);
            moduleRep.SaveItem(md9);
            moduleRep.SaveItem(md10);
            moduleRep.SaveItem(md11);
            moduleRep.SaveItem(md12);
        }
Exemplo n.º 11
0
        public dynamic GetModuleExercises(Guid moduleId, [FromBody] string description)
        {
            var coachingModuleRepository         = new CoachingModuleRepositoryDocumentDB();
            var coachingModuleResourceRepository = new CoachnigModuleExerciseResourceRepositoryDocumentDB();

            var coachingModule = coachingModuleRepository.GetModuleById(moduleId);

            //Get all exercises
            var resources = coachingModuleResourceRepository.GetItemsWithIds(new Guid[] {
                coachingModule.Exercise.ResourceReferenceId, coachingModule.Reflection.ResourceReferenceId
            });

            return(new {
                title = coachingModule.Name,
                exercises = resources.Select(r => ModuleResourceDTOConverter.ConvertToDTO(r))
            });
        }
Exemplo n.º 12
0
        public void Put(UpdateModuleRequest request)
        {
            var coachingModuleRepository         = new CoachingModuleRepositoryDocumentDB();
            var coachingModuleResourceRepository = new ModuleResourceRepositoryDocumentDb();

            var coachingModule = coachingModuleRepository.GetModuleById(request.CoachingModule.Id);
            var introduction   = coachingModuleResourceRepository.GetResourceById(request.CoachingModule.Introduction);
            var exercise       = coachingModuleResourceRepository.GetResourceById(request.CoachingModule.Exercise);
            var reflection     = coachingModuleResourceRepository.GetResourceById(request.CoachingModule.Reflection);

            coachingModule.Name         = request.CoachingModule.Name;
            coachingModule.Description  = request.CoachingModule.Description;
            coachingModule.Peptalk      = request.CoachingModule.Peptalk;
            coachingModule.Introduction = new CoachingModuleResourceReference(introduction.Id, introduction.RevisionHistory.ReferenceId);
            coachingModule.Exercise     = new CoachingModuleResourceReference(exercise.Id, exercise.RevisionHistory.ReferenceId);
            coachingModule.Reflection   = new CoachingModuleResourceReference(reflection.Id, reflection.RevisionHistory.ReferenceId);

            coachingModuleRepository.SaveItem(coachingModule);
        }
Exemplo n.º 13
0
        public Guid Post([FromBody] string courseName)
        {
            var coachingCourseRepository         = new CoachingCourseRepositoryDocumentDB();
            var coachingModuleResourceRepository = new ModuleResourceRepositoryDocumentDb();
            var coachingModuleRepository         = new CoachingModuleRepositoryDocumentDB();
            var exerciseRepository = new CoachnigModuleExerciseResourceRepositoryDocumentDB();
            var userRepository     = new UserRepositoryDocumentDB();

            var coachingService = new CoachingCourseService(
                coachingCourseRepository,
                coachingModuleResourceRepository,
                coachingModuleRepository,
                exerciseRepository,
                userRepository);

            var course = coachingService.CreateNewCoachingCourse(courseName);

            return(course.Id);
        }
Exemplo n.º 14
0
        public Guid Post(CreateModuleInCourseRequest request)
        {
            var coachingCourseRepository         = new CoachingCourseRepositoryDocumentDB();
            var coachingModuleResourceRepository = new ModuleResourceRepositoryDocumentDb();
            var coachingModuleRepository         = new CoachingModuleRepositoryDocumentDB();
            var exerciseRepository = new CoachnigModuleExerciseResourceRepositoryDocumentDB();
            var userRepository     = new UserRepositoryDocumentDB();

            var coachingService = new CoachingCourseService(
                coachingCourseRepository,
                coachingModuleResourceRepository,
                coachingModuleRepository,
                exerciseRepository,
                userRepository);

            var course = coachingCourseRepository.GetCourseById(request.CourseId);

            var module = coachingService.CreateNewModuleInCourse(course, request.ModuleName, 0);

            return(course.Id);
        }
Exemplo n.º 15
0
        public void AddModuleViaService()
        {
            var courseName = "Service test course with modules";
            //Create the course
            var course = _coachingCourseService.CreateNewCoachingCourse(courseName);

            _coachingCourseService.CreateNewModuleInCourse(course, "Some module", 0);

            //Check that revisions histories was created
            var resourceRepo = new ModuleResourceRepositoryDocumentDb();
            var exerciseRepo = new CoachnigModuleExerciseResourceRepositoryDocumentDB();
            var moduleRepo   = new CoachingModuleRepositoryDocumentDB();
            var foundModule  = moduleRepo.GetModuleById(course.Modules[0].ModuleReferenceId);

            //Check that repos only has one version
            Assert.AreEqual(resourceRepo.GetItems(i => i.RevisionHistory.ReferenceId == foundModule.Introduction.RevisionHistoryReferenceId).Count(), 1);
            Assert.AreEqual(exerciseRepo.GetItems(i => i.RevisionHistory.ReferenceId == foundModule.Exercise.RevisionHistoryReferenceId).Count(), 1);
            Assert.AreEqual(exerciseRepo.GetItems(i => i.RevisionHistory.ReferenceId == foundModule.Reflection.RevisionHistoryReferenceId).Count(), 1);

            Assert.AreNotEqual(foundModule.Introduction.RevisionHistoryReferenceId, foundModule.Exercise.RevisionHistoryReferenceId);
            Assert.AreNotEqual(foundModule.Introduction.RevisionHistoryReferenceId, foundModule.Reflection.RevisionHistoryReferenceId);
            Assert.AreNotEqual(foundModule.Exercise.RevisionHistoryReferenceId, foundModule.Reflection.RevisionHistoryReferenceId);
        }
Exemplo n.º 16
0
        public void UpdateModuleResource()
        {
            var courseName = "Service test course with updated module";
            //Create the course
            var course         = _coachingCourseService.CreateNewCoachingCourse(courseName);
            var coachingModule = _coachingCourseService.CreateNewModuleInCourse(course, "Some module", 0);

            var newResource = new CoachingModuleResource()
            {
                Content         = "En meget kortere tekst",
                RevisionHistory = new ResourseRevisionHistoryReference()
                {
                    ReferenceId = coachingModule.Introduction.RevisionHistoryReferenceId
                }
            };

            _coachingCourseService.UpdateModuleResurce(coachingModule, newResource);

            var courseRepo   = new CoachingCourseRepositoryDocumentDB();
            var resourceRepo = new ModuleResourceRepositoryDocumentDb();
            var moduleRepo   = new CoachingModuleRepositoryDocumentDB();
            var foundCourse  = courseRepo.GetItems(i => i.Id == course.Id).Single();
            var foundModule  = moduleRepo.GetModuleById(foundCourse.Modules[0].ModuleReferenceId);
            var foundIntroductionResource = resourceRepo.GetResourceById(foundModule.Introduction.ResourceReferenceId);

            Assert.AreEqual(foundCourse.Modules.Count, 1);
            Assert.AreEqual(foundIntroductionResource.Content, "En meget kortere tekst");

            resourceRepo = new ModuleResourceRepositoryDocumentDb();
            var foundResources = resourceRepo.GetItems(i => i.RevisionHistory.ReferenceId == foundModule.Introduction.RevisionHistoryReferenceId);

            Assert.AreEqual(foundResources.OrderBy(v => v.Version).ToList()[0].Version, 1);
            Assert.AreEqual(foundResources.OrderBy(v => v.Version).ToList()[1].Version, 2);

            Assert.AreNotEqual(foundResources.OrderBy(v => v.Version).ToList()[0].Content, "En meget kortere tekst");
            Assert.AreEqual(foundResources.OrderBy(v => v.Version).ToList()[1].Content, "En meget kortere tekst");
        }
Exemplo n.º 17
0
        public void UpdatePromiseExerciseInstructionText()
        {
            var courseName = "Better ways course";
            //Create the course
            var courseRep   = new CoachingCourseRepositoryDocumentDB();
            var moduleRep   = new CoachingModuleRepositoryDocumentDB();
            var resourceRep = new CoachnigModuleExerciseResourceRepositoryDocumentDB();
            var course      = courseRep.GetItems(c => c.Name == courseName).Single();
            var modules     = moduleRep.GetItemsWithIds(course.Modules.Select(m => m.ModuleReferenceId)).ToList();
            var resources   = resourceRep.GetItemsWithIds(modules.SelectMany(m => new[] { m.Exercise.ResourceReferenceId, m.Reflection.ResourceReferenceId })).ToList();

            var goalExercises = resources.SelectMany(r =>
                                                     r.Elements.Where(el => el.Exercise != null && el.Exercise.ExerciseClassName == "Promise").Select(el => new { Resource = r, Exercise = el })
                                                     ).ToList();

            foreach (var goalExercise in goalExercises)
            {
                goalExercise.Exercise.Exercise.InstrunctionContent = new List <string>()
                {
                    "<p>F&oslash;r vi g&aring;r videre skal du give dig selv et m&aring;l til n&aelig;ste modul</p>\n"
                };
                resourceRep.SaveItem(goalExercise.Resource);
            }
        }
        public void GetMultipleModulesWithSpecificIds()
        {
            var courseName = "Course with multiple modules";
            var courseRepo = new CoachingCourseRepositoryDocumentDB();
            var moduleRepo = new CoachingModuleRepositoryDocumentDB();
            var course     = new CoachingCourse(courseName);

            courseRepo.CreateCoachingCourse(course);

            var introduction1 = new CoachingModuleResource()
            {
                RevisionHistory = new ResourseRevisionHistoryReference(), Content = "<h1>&lt;Overskrift her&gt;</h1> <p>&lt;Kort tekst her&gt;</p> <div data-oembed-url='https://vimeo.com/ricardonilsson/coachingwill'> <div style='left: 0px; width: 100%; height: 0px; position: relative; padding-bottom: 56.2493%;'><iframe allowfullscreen='true' frameborder='0' mozallowfullscreen='true' src='//player.vimeo.com/video/77308630?byline=0&amp;badge=0&amp;portrait=0&amp;title=0' style='top: 0px; left: 0px; width: 100%; height: 100%; position: absolute;' webkitallowfullscreen='true'></iframe></div> </div> <h2>&lt;Overskrift, start p&aring; udvidet intro&gt;</h2> <p>&lt;Intro her&gt;</p> <h2>&lt;Overskrift, eksterne henvisninger&gt;</h2> <p><a href='http://wikipedia.org'>&lt;Eksempel p&aring; link&gt;</a></p>"
            };
            var exercise1 = new CoachingModuleExerciseResource()
            {
                RevisionHistory = new ResourseRevisionHistoryReference(), Elements = new List <ResourceExerciseElement>()
                {
                    new ResourceExerciseElement("<h1>&lt;Overskrift her&gt;</h1>  <p>&lt;Kort tekst her, efterfulgt af &gt;</p>  <SortableList/>")
                }
            };
            var reflection1 = new CoachingModuleExerciseResource()
            {
                RevisionHistory = new ResourseRevisionHistoryReference(), Elements = new List <ResourceExerciseElement>()
                {
                    new ResourceExerciseElement("<h1>&lt;Overskrift her&gt;</h1>  <p>&lt;Kort tekst her&gt;</p>  <h2>&nbsp;</h2>")
                }
            };

            var module1 = new CoachingModule
                          (
                "My coaching module 1",
                introduction1,
                exercise1,
                reflection1
                          );

            var introduction2 = new CoachingModuleResource()
            {
                RevisionHistory = new ResourseRevisionHistoryReference(), Content = "<h1>&lt;Overskrift her&gt;</h1> <p>&lt;Kort tekst her&gt;</p> <div data-oembed-url='https://vimeo.com/ricardonilsson/coachingwill'> <div style='left: 0px; width: 100%; height: 0px; position: relative; padding-bottom: 56.2493%;'><iframe allowfullscreen='true' frameborder='0' mozallowfullscreen='true' src='//player.vimeo.com/video/77308630?byline=0&amp;badge=0&amp;portrait=0&amp;title=0' style='top: 0px; left: 0px; width: 100%; height: 100%; position: absolute;' webkitallowfullscreen='true'></iframe></div> </div> <h2>&lt;Overskrift, start p&aring; udvidet intro&gt;</h2> <p>&lt;Intro her&gt;</p> <h2>&lt;Overskrift, eksterne henvisninger&gt;</h2> <p><a href='http://wikipedia.org'>&lt;Eksempel p&aring; link&gt;</a></p>"
            };
            var exercise2 = new CoachingModuleExerciseResource()
            {
                RevisionHistory = new ResourseRevisionHistoryReference(), Elements = new List <ResourceExerciseElement>()
                {
                    new ResourceExerciseElement("<h1>&lt;Overskrift her&gt;</h1>  <p>&lt;Kort tekst her, efterfulgt af &gt;</p>  <SortableList/>")
                }
            };
            var reflection2 = new CoachingModuleExerciseResource()
            {
                RevisionHistory = new ResourseRevisionHistoryReference(), Elements = new List <ResourceExerciseElement>()
                {
                    new ResourceExerciseElement("<h1>&lt;Overskrift her&gt;</h1>  <p>&lt;Kort tekst her&gt;</p>  <h2>&nbsp;</h2>")
                }
            };

            var module2 = new CoachingModule
                          (
                "My coaching module 2",
                introduction2,
                exercise2,
                reflection2
                          );

            var introduction3 = new CoachingModuleResource()
            {
                RevisionHistory = new ResourseRevisionHistoryReference(), Content = "<h1>&lt;Overskrift her&gt;</h1> <p>&lt;Kort tekst her&gt;</p> <div data-oembed-url='https://vimeo.com/ricardonilsson/coachingwill'> <div style='left: 0px; width: 100%; height: 0px; position: relative; padding-bottom: 56.2493%;'><iframe allowfullscreen='true' frameborder='0' mozallowfullscreen='true' src='//player.vimeo.com/video/77308630?byline=0&amp;badge=0&amp;portrait=0&amp;title=0' style='top: 0px; left: 0px; width: 100%; height: 100%; position: absolute;' webkitallowfullscreen='true'></iframe></div> </div> <h2>&lt;Overskrift, start p&aring; udvidet intro&gt;</h2> <p>&lt;Intro her&gt;</p> <h2>&lt;Overskrift, eksterne henvisninger&gt;</h2> <p><a href='http://wikipedia.org'>&lt;Eksempel p&aring; link&gt;</a></p>"
            };
            var exercise3 = new CoachingModuleExerciseResource()
            {
                RevisionHistory = new ResourseRevisionHistoryReference(), Elements = new List <ResourceExerciseElement>()
                {
                    new ResourceExerciseElement("<h1>&lt;Overskrift her&gt;</h1>  <p>&lt;Kort tekst her, efterfulgt af &gt;</p>  <SortableList/>")
                }
            };
            var reflection3 = new CoachingModuleExerciseResource()
            {
                RevisionHistory = new ResourseRevisionHistoryReference(), Elements = new List <ResourceExerciseElement>()
                {
                    new ResourceExerciseElement("<h1>&lt;Overskrift her&gt;</h1>  <p>&lt;Kort tekst her&gt;</p>  <h2>&nbsp;</h2>")
                }
            };

            var module3 = new CoachingModule
                          (
                "My coaching module 2",
                introduction3,
                exercise3,
                reflection3
                          );

            course.AddCoachingModule(module1);
            course.AddCoachingModule(module2);
            course.AddCoachingModule(module3);
            courseRepo.SaveCoachingCourse(course);

            moduleRepo.SaveModule(module1);
            moduleRepo.SaveModule(module2);
            moduleRepo.SaveModule(module3);

            courseRepo = new CoachingCourseRepositoryDocumentDB();
            moduleRepo = new CoachingModuleRepositoryDocumentDB();
            var foundCourses = courseRepo.GetItems(c => c.Name == courseName).Single();

            var foundModules = moduleRepo.GetItemsWithIds(foundCourses.Modules.Select(m => m.ModuleReferenceId)).ToList();

            Assert.AreEqual(foundModules.Count(), 3);

            Assert.IsNotNull(foundCourses);
        }
Exemplo n.º 19
0
        public void SetupModuleGroups()
        {
            var courseRep = new CoachingCourseRepositoryDocumentDB();
            var moduleRep = new CoachingModuleRepositoryDocumentDB();
            var groupRep  = new ModuleGroupRepositoryDocumentDB();

            //Find modules
            var allModules = moduleRep.GetAllItems();

            Assert.AreEqual(allModules.Count(), 12);

            var course = courseRep.GetAllItems().Single();


            //Create groups
            var grp1 = new ModuleGroup()
            {
                GroupName        = "Læg en plan og hold den",
                GroupDescription = "Få overblik over din situation og få redskaber til at komme videre. Dette er en fase, og vi hjælper dig til at se på tingene i et ny lys."
            };

            var grp2 = new ModuleGroup()
            {
                GroupName        = "Dit talent og din profil",
                GroupDescription = "Hvad er egentligt din profil? Hvad brænder du for? Måske er det tid til at skifte retning. Få klarhed og opdag nye sider af dit talent."
            };

            var grp3 = new ModuleGroup()
            {
                GroupName        = "Gør dig synlig",
                GroupDescription = "Du har en unik og attraktiv profil, men får virksomhederne øje på dig? Lær at synliggøre de egenskaber der er værdifulde for din fremtidige arbejdsgiver."
            };

            var grp4 = new ModuleGroup()
            {
                GroupName        = "Nå dit mål",
                GroupDescription = "Det kræver en stor indsats at finde det rette job. Det er ikke sikkert at det vil lykkedes i første hug. Lær at strukturere søgningen og få noget positivt ud af afslagene."
            };

            course.ModuleGroups = new List <Guid>()
            {
                grp1.Id, grp2.Id, grp3.Id, grp4.Id
            };

            var md1  = allModules.Single(m => m.ModuleIndex == 0);
            var md2  = allModules.Single(m => m.ModuleIndex == 1);
            var md3  = allModules.Single(m => m.ModuleIndex == 2);
            var md4  = allModules.Single(m => m.ModuleIndex == 3);
            var md5  = allModules.Single(m => m.ModuleIndex == 4);
            var md6  = allModules.Single(m => m.ModuleIndex == 5);
            var md7  = allModules.Single(m => m.ModuleIndex == 6);
            var md8  = allModules.Single(m => m.ModuleIndex == 7);
            var md9  = allModules.Single(m => m.ModuleIndex == 8);
            var md10 = allModules.Single(m => m.ModuleIndex == 9);
            var md11 = allModules.Single(m => m.ModuleIndex == 10);
            var md12 = allModules.Single(m => m.ModuleIndex == 11);

            groupRep.SaveItem(grp1);
            groupRep.SaveItem(grp2);
            groupRep.SaveItem(grp3);
            groupRep.SaveItem(grp4);

            md1.GroupId = grp1.Id;
            md2.GroupId = grp1.Id;

            md3.GroupId = grp2.Id;
            md4.GroupId = grp2.Id;
            md5.GroupId = grp2.Id;
            md6.GroupId = grp2.Id;
            md7.GroupId = grp2.Id;

            md8.GroupId  = grp3.Id;
            md9.GroupId  = grp3.Id;
            md10.GroupId = grp3.Id;

            md11.GroupId = grp4.Id;
            md12.GroupId = grp4.Id;

            moduleRep.SaveItem(md1);
            moduleRep.SaveItem(md2);
            moduleRep.SaveItem(md3);
            moduleRep.SaveItem(md4);
            moduleRep.SaveItem(md5);
            moduleRep.SaveItem(md6);
            moduleRep.SaveItem(md7);
            moduleRep.SaveItem(md8);
            moduleRep.SaveItem(md9);
            moduleRep.SaveItem(md10);
            moduleRep.SaveItem(md11);
            moduleRep.SaveItem(md12);

            courseRep.SaveItem(course);
        }
        public void InitCourseWithModules()
        {
            var moduleRepo = new CoachingModuleRepositoryDocumentDB();
            var courseName = "Better ways course";
            //Create the course
            var course = _coachingCourseService.CreateNewCoachingCourse(courseName);

            var mod1 = _coachingCourseService.CreateNewModuleInCourse(course, "Fyret. Hvad nu?", 0);

            Assert.IsNotNull(mod1.Exercise);

            mod1.Description = "Find det positive i dit seneste job, og undgå negativiteten. Se fremad, mod nye udfordringer.";
            _coachingCourseService.UpdateModuleResurce(
                mod1,
                new CoachingModuleExerciseResource()
            {
                Elements = new List <ResourceExerciseElement>()
                {
                    new ResourceExerciseElement("")
                    {
                        Exercise = new GoalExercise(new CoachingModuleReference(mod1.Id))
                    },
                    new ResourceExerciseElement("<h1>Glæden i dit seneste arbejde</h1>  <p>Jeg vil bede dig om at se tilbage på dit seneste arbejde og arbejdsplads: Hvad der betød mest for dig?</p> ")
                    {
                        Exercise = new SortAndEvaluateExercise(
                            new List <string>()
                        {
                            "Mening", "Chef", "Indfldelse", "Resultater", "Kollegaer", "Balance"
                        },
                            new CoachingModuleReference(mod1.Id))
                        {
                            Description         = "Find det positive",
                            InstrunctionContent = new List <string> {
                                "<p>Når du er klar skal du trykke, 'Start øvelse':</p>",
                                "<p>Jeg vil bede dig om at se tilbage på dit seneste arbejde og arbejdsplads: Hvad der betød mest for dig? Det mest betydningsfulde skal du placere øverst, og det mindst betydningsfulde nederst. Tryk 'færdig' når du er klar.</p>",
                                "<p>Der har været en hel række af begivenheder, situationer og hændelser som du husker tilbage på med forskellige følelser.</p><p>Jeg vil bede dig om at kigge tilbage på de oplevelser du har haft med [dine prioiteringer] – OG særlige oplevelser der har fyldt dig med glæde. Vær opmærksom på at her skal du kun gå i detaljer med det der har en positiv indvirken på dig.</p><p>Det andet vil jeg bede dig om at lade ligge som blot en konstatering – at der var situationer som ikke gik din vej. Dyrk det der fungerer for dig og lær hvordan du kan øge lige præcist det der styrker dig.</p>",
                                "<p>Fortæl om en positiv oplevelse vedrørende din(e)</p>",
                                "<h2>Øvelsen er færdig</h2><p>Her er din besvarelse, sorteret med det mest betydningsfulde, først:</p>"
                            }
                        }
                    }
                },
                RevisionHistory = new ResourseRevisionHistoryReference()
                {
                    ReferenceId = mod1.Exercise.RevisionHistoryReferenceId
                }
            });

            var mod2 = _coachingCourseService.CreateNewModuleInCourse(course, "Læg en plan og hold den", 1);

            mod2.Description = "Planlægning kan hjælpe dig med at komme videre. Start med at lægge en plan for den nærmeste fremtid.";
            _coachingCourseService.UpdateModuleResurce(
                mod2,
                new CoachingModuleExerciseResource()
            {
                Elements = new List <ResourceExerciseElement>()
                {
                    new ResourceExerciseElement("")
                    {
                        Exercise = new GoalExercise(new CoachingModuleReference(mod2.Id))
                    },
                    new ResourceExerciseElement("<h1>Personlighedstest fra KP explorer</h1> <p>Denne øvelse skal give dig et overblik over din personlige profil. </p> <h3>Guide</h3> <p>Prøv at læse de præsenterede udsagn, således at du besvarer dem så spontant som muligt. Følg så vidt muligt din første indskydelse.<br/>Brug maksimalt 40 minutter på hele besvarelsen, og undgå så vidt muligt at holde pauser.</p> ")
                    {
                        Exercise = new KPExplorerQuestionnaire(

                            new CoachingModuleReference(mod2.Id))
                        {
                            Description         = "Find din personlige profil",
                            InstrunctionContent = new List <string>()
                            {
                                "<p>Når du er klar skal du trykke, 'Start øvelse':</p>",
                                "<h2>Øvelsen er færdig</h2><p>Din coach vil snart sende dig resultatet</p>"
                            }
                        }
                    }
                },
                RevisionHistory = new ResourseRevisionHistoryReference()
                {
                    ReferenceId = mod2.Exercise.RevisionHistoryReferenceId
                }
            });

            _coachingCourseService.CreateNewModuleInCourse(course, "Successhistorier", 2);
            _coachingCourseService.CreateNewModuleInCourse(course, "Dit talent", 3);
            _coachingCourseService.CreateNewModuleInCourse(course, "Dine personlige kompetencer", 4);
            _coachingCourseService.CreateNewModuleInCourse(course, "Motivation", 5);

            _coachingCourseService.CreateNewModuleInCourse(course, "Linkedin profil", 6);
            _coachingCourseService.CreateNewModuleInCourse(course, "Mulighederne - dig og din nye arbejdsplads", 7);
            _coachingCourseService.CreateNewModuleInCourse(course, "Netværk og social kapital", 8);
            _coachingCourseService.CreateNewModuleInCourse(course, "Nettet", 9);
            _coachingCourseService.CreateNewModuleInCourse(course, "Massiv indsats - hit med jobbet", 10);
            _coachingCourseService.CreateNewModuleInCourse(course, "Jobtilbud / jobafslag", 11);
        }