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 }); }
// GET api/values public IEnumerable <ModuleExerciseResourceDTO> Get() { //TODO: Find user var exerciseRepository = new CoachnigModuleExerciseResourceRepositoryDocumentDB(); return(exerciseRepository.GetAllItems().Select(c => ModuleResourceDTOConverter.ConvertToDTO(c))); }
// GET api/values/5 public ModuleExerciseResourceDTO Get(Guid id) { var exerciseRepository = new CoachnigModuleExerciseResourceRepositoryDocumentDB(); return(ModuleResourceDTOConverter.ConvertToDTO( exerciseRepository.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 }); }
private void LoadCompletedScoreCardExercises(GetUserResultsResponse response) { var completedScoreCards = response.ModuleResults.SelectMany(m => m.ModuleResults.Where(r => r.IsCompleted)); var exerciseIds = completedScoreCards.Select(e => e.ExerciseId).ToList(); var exerciseRepository = new CoachnigModuleExerciseResourceRepositoryDocumentDB(); var exercises = exerciseRepository.GetItemsAsQueryable().SelectMany(er => er.Elements) .Where(el => exerciseIds.Contains(el.Exercise.Id)).AsEnumerable().ToList(); foreach (var scoreCard in completedScoreCards) { scoreCard.Exercise = ModuleResourceDTOConverter.ConvertToDTO(exercises.Single(e => e.Exercise.Id == scoreCard.ExerciseId)); } }
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)) }); }
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); }
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); }
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); }
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ør vi går videre skal du give dig selv et mål til næste modul</p>\n" }; resourceRep.SaveItem(goalExercise.Resource); } }