public IActionResult AssignStudents(int id) { var allStudents = _studentService.GetAllStudents(); var course = _courseService.GetCourseById(id); if (course == null) { return(BadRequest()); } CourseStudentAssignmentViewModel model = new CourseStudentAssignmentViewModel(); model.Id = id; model.EndDate = course.EndDate; model.Name = course.Name; model.StartDate = course.StartDate; model.PassCredits = course.PassCredits; model.Students = new List <AssignmentStudentViewModel>(); foreach (var student in allStudents) { bool isAssigned = course.Students.Any(p => p.Id == student.Id); model.Students.Add(new AssignmentStudentViewModel() { StudentId = student.Id, StudentFullName = student.Name, IsAssigned = isAssigned }); } return(View(model)); }
public IActionResult AssignStudents(int id) { var course = _repository.GetCourse(id); CourseStudentAssignmentViewModel model = new CourseStudentAssignmentViewModel() { Name = course.Name, Id = id, EndDate = course.EndDate, PassCredits = course.PassCredits, StartDate = course.StartDate, Students = new List <StudentViewModel>() }; var allstudents = _repository.GetAllStudents(); foreach (var studeunt in allstudents) { bool isAssigned = course.Students.Any(p => p.Id == studeunt.Id); model.Students.Add(new StudentViewModel() { IsAssigned = isAssigned, StudentFullName = studeunt.Name, StudentId = studeunt.Id }); } return(View(model)); }
public IActionResult AssignStudents(int id) { Course course = this.courseService.GetCourse(id); if (course == null) { return(this.NotFound()); } var allStudents = this.studentService.GetAllStudents(); CourseStudentAssignmentViewModel model = new CourseStudentAssignmentViewModel(); model.Id = id; model.EndDate = course.EndDate; model.Name = course.Name; model.StartDate = course.StartDate; model.PassCredits = course.PassCredits; model.Students = new List <StudentViewModel>(); foreach (var student in allStudents) { bool isAssigned = course.Students.Any(p => p.StudentId == student.Id); model.Students.Add(new StudentViewModel() { StudentId = student.Id, StudentFullName = student.Name, IsAssigned = isAssigned }); } return(this.View(model)); }
public IActionResult AssignStudents(CourseStudentAssignmentViewModel assignmentViewModel) { if (assignmentViewModel == null) { return(this.BadRequest()); } this.courseService.SetStudentsToCourse(assignmentViewModel.Id, assignmentViewModel.Students.Where(p => p.IsAssigned).Select(student => student.StudentId)); return(RedirectToAction("Courses")); }
public async Task AssignStudents_ReturnsBadRequest_WhenAssignmentViewModelIsEmpty() { //Arrange CourseStudentAssignmentViewModel expectedModel = null; CourseService courseService = Substitute.For <CourseService>(); StudentService studentService = Substitute.For <StudentService>(); var controller = new CourseController(courseService, studentService, null); //Act IActionResult actual = controller.AssignStudents(expectedModel); //Assert actual.Should().BeAssignableTo <BadRequestResult>(); }
public IActionResult AssignStudents([FromForm] CourseStudentAssignmentViewModel model) { _repository.SetStudentsToCourse(model.Id, model.Students.Where(p => p.IsAssigned).Select(p => p.StudentId)); return(RedirectToAction("Courses")); }
public IActionResult AssignStudents(CourseStudentAssignmentViewModel assignmentViewModel) { this.repository.SetStudentsToCourse(assignmentViewModel.Id, assignmentViewModel.Students.Where(p => p.IsAssigned).Select(student => student.StudentId)); return(RedirectToAction("Courses")); }
public void AssignStudents_ReturnsViewResult_WithCoursesAndStudentsAreAssigned() { // Arrange const int courseId = 1; const int assignedStudentId = 11; const int nonAssignedStudentId = 22; const string courseName = "test"; CourseStudentAssignmentViewModel expectedModel = new CourseStudentAssignmentViewModel() { Id = courseId, Name = courseName, Students = new List <AssignmentStudentViewModel>() { new AssignmentStudentViewModel() { StudentId = assignedStudentId, StudentFullName = "Test1", IsAssigned = true }, new AssignmentStudentViewModel() { StudentId = nonAssignedStudentId, StudentFullName = "Test2", IsAssigned = false } } }; var courseServiceMock = Substitute.For <CourseService>(); courseServiceMock.GetCourseById(courseId).Returns(new Course() { Id = courseId, Name = courseName, Students = new List <Student>() { new Student() { Id = assignedStudentId } } }); var studentService = Substitute.For <StudentService>(); var students = new List <Student>() { new Student() { Id = assignedStudentId, Name = "Test1" }, new Student() { Id = nonAssignedStudentId, Name = "Test2" } }; studentService.GetAllStudents().Returns(students); var controller = new CourseController(courseServiceMock, studentService); // Act var result = controller.AssignStudents(courseId); // Assert var viewResult = Assert.IsType <ViewResult>(result); var actualModel = Assert.IsAssignableFrom <CourseStudentAssignmentViewModel>(viewResult.ViewData.Model); actualModel.Should().BeEquivalentTo(expectedModel); }
// [Fact] public async Task AssignStudents_SetStudentsToCoursesAndRedirectsToCourses_WhenCoursesAndStudentsAreAssigned() { //Arrange const int courseId = 1; const int assignedStudentId = 11; const int nonAssignedStudentId = 22; const string courseName = "test"; CourseStudentAssignmentViewModel expectedModel = new CourseStudentAssignmentViewModel() { Id = courseId, Name = courseName, Students = new List <StudentViewModel>() { new StudentViewModel() { StudentId = assignedStudentId, StudentFullName = "Test1", IsAssigned = true }, new StudentViewModel() { StudentId = nonAssignedStudentId, StudentFullName = "Test2", IsAssigned = false } } }; var courseServiceMock = Substitute.For <CourseService>(); courseServiceMock.GetCourse(courseId).Returns(new Course() { Id = courseId, Name = courseName, Students = new List <StudentCourse>() { new StudentCourse() { StudentId = assignedStudentId } } }); var studentService = Substitute.For <StudentService>(); var students = new List <Student>() { new Student() { Id = assignedStudentId, Name = "Test1" }, new Student() { Id = nonAssignedStudentId, Name = "Test2" } }; studentService.GetAllStudents().Returns(students); var controller = new CourseController(courseServiceMock, studentService, null); // Act var actionResult = controller.AssignStudents(courseId); // Assert actionResult.Should().BeOfType <RedirectToActionResult>().Which.ActionName.Should().Be("Courses"); }