Exemple #1
0
        public IActionResult UpdateStudentDetail(Guid studentId, StudentDetailForUpdateDto studentDetail)
        {
            if (!_repository.StudentExists(studentId))
            {
                return(NotFound());
            }

            var studentDetailToUpdate = _repository.GetStudentDetail(studentId);

            if (studentDetailToUpdate == null)
            {
                var studentDetailToAdd = _mapper.Map <StudentDetail>(studentDetail);
                studentDetailToAdd.StudentId = studentId;
                _repository.AddStudentDetail(studentId, studentDetailToAdd);
                _repository.Save();

                var entityToReturn = _mapper.Map <StudentDetailDto>(studentDetailToAdd);

                return(CreatedAtRoute("GetDetail", new { studentId = entityToReturn.StudentId }, entityToReturn));
            }

            _mapper.Map(studentDetail, studentDetailToUpdate);
            _repository.UpdateStudentDetail(studentId, studentDetailToUpdate);
            _repository.Save();
            return(NoContent());
        }