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
            });
        }
        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
            });
        }
        // GET api/values/5
        public ModuleResourceDTO Get(Guid id)
        {
            var resourceRepository = new ModuleResourceRepositoryDocumentDb();

            return(ModuleResourceDTOConverter.ConvertToDTO(
                       resourceRepository.GetItems(i => i.Id == id).SingleOrDefault()));
        }
        // GET api/values
        public IEnumerable <ModuleResourceDTO> Get()
        {
            //TODO: Find user
            var resourceRepository = new ModuleResourceRepositoryDocumentDb();

            return(resourceRepository.GetAllItems().Select(c => ModuleResourceDTOConverter.ConvertToDTO(c)));
        }
Exemplo n.º 5
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.º 6
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.º 7
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.º 8
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.º 9
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.º 10
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");
        }