예제 #1
0
        public IActionResult Transfer(long id, int enrollmenrNumber, [FromBody] StudentTransferDto 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}'"));
            }

            var enrollment = student.GetEnrollment(enrollmenrNumber);

            if (enrollment == null)
            {
                return(Error($"No enrollment found with number '{enrollmenrNumber}'"));
            }

            enrollment.Update(course, grade);
            _unitOfWork.Commit();

            return(Ok());
        }
        public IActionResult Transfer(
            Guid id, int enrollmentNumber, [FromBody] StudentTransferDto dto)
        {
            var result = _messages.Dispatch(new TransferCommand(id, enrollmentNumber, dto.Course, dto.Grade));

            return(FromResult(result));
        }
        public IActionResult Transfer(long id, int enrollmentNumber, [FromBody] StudentTransferDto dto)
        {
            TransferCommand command = new TransferCommand(id, dto.Course, dto.Grade, enrollmentNumber - 1);
            Result          result  = _messages.Dispatch(command);

            return(FromResult(result));
        }
예제 #4
0
 public TransferCommand(long id, int enrollmentNumber, StudentTransferDto dto)
 {
     Id = id;
     EnrollmentNumber = enrollmentNumber;
     Course           = dto.Course;
     Grade            = dto.Grade;
 }
예제 #5
0
        public IActionResult Transfer(long id, int enrollmentNumber,
                                      [FromBody] StudentTransferDto 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}'"));
            }

            var enrollment = student.GetEnrollment(enrollmentNumber);

            if (enrollment == null)
            {
                return(Error($"No enrollment found with number '{enrollmentNumber}'"));
            }

            enrollment.Update(course, grade);
            _studentService.Save();

            return(Ok());
        }
예제 #6
0
        public async Task <IActionResult> Transfer(long id, int enrollmentNumber, [FromBody] StudentTransferDto dto)
        {
            var result = await _dispatcher.Dispatch(new TransferCommand(id, enrollmentNumber, dto.Course, dto.Grade));

            return(FromResult(result));
        }
예제 #7
0
        public IActionResult Transfer(long id, int enrollmentNumber, [FromBody] StudentTransferDto dto)
        {
            Result result = _mesages.Dispatch(new TransferCommand(id, enrollmentNumber, dto));

            return(FromResult(result));
        }