Пример #1
0
        public IActionResult AssignLecturers(int id)
        {
            var course = this.courseService.GetCourse(id);

            if (course == null)
            {
                return(this.NotFound());
            }
            var allLecturers = this.lecturerService.GetAllLecturers();

            CourseLecturerAssignmentViewModel model = new CourseLecturerAssignmentViewModel();

            model.Id          = id;
            model.EndDate     = course.EndDate;
            model.Name        = course.Name;
            model.StartDate   = course.StartDate;
            model.PassCredits = course.PassCredits;
            model.Lecturers   = new List <LecturersViewModel>();

            foreach (var lecturer in allLecturers)
            {
                bool isAssigned = course.Lecturers.Any(p => p.LecturerId == lecturer.Id);
                model.Lecturers.Add(new LecturersViewModel()
                {
                    LecturerId = lecturer.Id, Name = lecturer.Name, IsAssigned = isAssigned
                });
            }

            return(this.View(model));
        }
        public IActionResult AssignLecturers(int id)
        {
            var course = _repository.GetCourse(id);
            CourseLecturerAssignmentViewModel model = new CourseLecturerAssignmentViewModel()
            {
                Name        = course.Name,
                Id          = id,
                EndDate     = course.EndDate,
                PassCredits = course.PassCredits,
                StartDate   = course.StartDate,
                Lecturers   = new List <LecturersViewModel>()
            };

            var allLecturers = _repository.GetAllLecturers();

            foreach (var lecturer in allLecturers)
            {
                bool isAssigned = course.Lecturers.Any(p => p.Id == lecturer.Id);
                model.Lecturers.Add(new LecturersViewModel()
                {
                    IsAssigned = isAssigned,
                    Name       = lecturer.Name,
                    LecturerId = lecturer.Id
                });
            }
            return(View(model));
        }
Пример #3
0
        public IActionResult AssignLecturers(int id)
        {
            var    allLecturers = context.Lecturer.ToList();
            Course course       = this.context.Course.Include(cr => cr.Lecturers).SingleOrDefault(c => c.Id == id);
            CourseLecturerAssignmentViewModel model = new CourseLecturerAssignmentViewModel();

            model.Id          = id;
            model.EndDate     = course.EndDate;
            model.Name        = course.Name;
            model.StartDate   = course.StartDate;
            model.PassCredits = course.PassCredits;
            model.Lecturers   = new List <LecturersViewModel>();

            foreach (var lecturer in allLecturers)
            {
                bool isAssigned = course.Lecturers.Any(p => p.Id == lecturer.Id);
                //   bool isAssigned = this.context.Lecturer.Any(p => p.CourseId == id);

                model.Lecturers.Add(new LecturersViewModel()
                {
                    LecturerId = lecturer.Id, Name = lecturer.Name, IsAssigned = isAssigned
                });
            }

            return(this.View(model));
        }
Пример #4
0
        public IActionResult AssignLecturers(CourseLecturerAssignmentViewModel assignmentViewModel)
        {
            if (assignmentViewModel == null)
            {
                return(this.BadRequest());
            }
            this.courseService.SetLecturersToCourse(assignmentViewModel.Id, assignmentViewModel.Lecturers.Where(p => p.IsAssigned).Select(lecturer => lecturer.LecturerId));

            return(RedirectToAction("Courses"));
        }
Пример #5
0
        public async Task AssignLecturers_ReturnsBadRequest_WhenAssignmentViewModelIsEmpty()
        {
            //Arrange
            CourseLecturerAssignmentViewModel model = null;
            CourseService    courseService          = Substitute.For <CourseService>();
            LecturerService  LecturerService        = Substitute.For <LecturerService>();
            CourseController controller             = new CourseController(courseService, null, LecturerService);

            //Act
            IActionResult actual = controller.AssignLecturers(model);

            //Assert
            actual.Should().BeAssignableTo <BadRequestResult>();
        }
 public IActionResult AssignLecturers([FromForm] CourseLecturerAssignmentViewModel model)
 {
     _repository.SetLecturersToCourse(model.Id, model.Lecturers.Where(p => p.IsAssigned).Select(p => p.LecturerId));
     return(RedirectToAction("Courses"));
 }
Пример #7
0
        public IActionResult AssignLecturers(CourseLecturerAssignmentViewModel model)
        {
            this.SetLecturersToCourse(model.Id, model.Lecturers.Where(p => p.IsAssigned).Select(lecturer => lecturer.LecturerId));

            return(RedirectToAction("Courses"));
        }
Пример #8
0
        public async Task AssignLecturers_ReturnsViewResult_WithCoursesAndStudentsAreAssigned()
        {
            // Arrange
            const int    courseId              = 1;
            const int    assignedLecturerId    = 11;
            const int    nonassignedLecturerId = 22;
            const string courseName            = "test";

            CourseLecturerAssignmentViewModel expectedModel = new CourseLecturerAssignmentViewModel()
            {
                Id        = courseId,
                Name      = courseName,
                Lecturers = new List <LecturersViewModel>()
                {
                    new LecturersViewModel()
                    {
                        LecturerId = assignedLecturerId, Name = "Test1", IsAssigned = true
                    },
                    new LecturersViewModel()
                    {
                        LecturerId = nonassignedLecturerId, Name = "Test2", IsAssigned = false
                    }
                }
            };
            var courseServiceMock = Substitute.For <CourseService>();

            courseServiceMock.GetCourse(courseId).Returns(new Course()
            {
                Id        = courseId,
                Name      = courseName,
                Lecturers = new List <LecturerCourse>()
                {
                    new LecturerCourse()
                    {
                        LecturerId = assignedLecturerId
                    }
                }
            });

            var lecturerService = Substitute.For <LecturerService>();
            var lecturers       = new List <Lecturer>()
            {
                new Lecturer()
                {
                    Id = assignedLecturerId, Name = "Test1"
                },
                new Lecturer()
                {
                    Id = nonassignedLecturerId, Name = "Test2"
                }
            };

            lecturerService.GetAllLecturers().Returns(lecturers);
            var controller = new CourseController(courseServiceMock, null, lecturerService);

            // Act
            var result = controller.AssignLecturers(courseId);

            // Assert
            var viewResult  = Assert.IsType <ViewResult>(result);
            var actualModel = Assert.IsAssignableFrom <CourseLecturerAssignmentViewModel>(viewResult.ViewData.Model);

            actualModel.Should().BeEquivalentTo(expectedModel);
        }