Пример #1
0
        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));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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"));
        }
Пример #5
0
        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"));
        }
Пример #8
0
        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);
        }
Пример #9
0
        //  [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");
        }