Beispiel #1
0
        public IActionResult Enroll(long id, [FromBody] StudentEnrollmentDto dto)
        {
            Student student = _studentRepository.GetById(id);

            if (student == null)
            {
                return(Error($"No student found for Id {id}"));
            }

            Course course = _courseRepository.GetByName(dto.Course);

            if (course == null)
            {
                return(Error($"Course is incorrect: '{dto.Course}'"));
            }

            bool success = Enum.TryParse(dto.Grade, out Grade grade);

            if (!success)
            {
                return(Error($"Grade is incorrect: '{dto.Grade}'"));
            }

            student.Enroll(course, grade);

            _unitOfWork.Commit();

            return(Ok());
        }
        public IActionResult Enroll(long id, [FromBody] StudentEnrollmentDto dto)
        {
            var command = new EnrollCommand(id, dto.Course, dto.Grade);
            var result  = _messages.Dispatch(command);

            return(FromResult(result));
        }
        public IActionResult Enroll(long id, [FromBody] StudentEnrollmentDto dto)
        {
            var student = _studentService.GetById(id);

            if (student == null)
            {
                return(Error($"No student found for Id {id}"));
            }

            var course = _courseService.GetByName(dto.Course);

            if (course == null)
            {
                return(Error($"Course is incorrect: '{dto.Course}'"));
            }

            var success = Enum.TryParse(dto.Grade, out Grade grade);

            if (!success)
            {
                return(Error($"Grade is incorrect: '{dto.Grade}'"));
            }

            student.Enroll(course, grade);
            _studentService.Save();

            return(Ok());
        }
        public async Task <IActionResult> Enroll(long id, [FromBody] StudentEnrollmentDto dto)
        {
            var result = await _dispatcher.Dispatch(new EnrollCommand(id, dto.Course, dto.Grade));

            return(FromResult(result));
        }
Beispiel #5
0
        public async Task <IActionResult> Enroll(long id, [FromBody] StudentEnrollmentDto dto)
        {
            Result result = await _mediator.Send(new EnrollCommand(id, dto.Course, dto.Grade));

            return(FromResult(result));
        }