public ActionResult UpdateStudent([FromBody] StudentEditDto studentDto)
        {
            if (!ModelState.IsValid)
            {
                var errorMessages = new List <KeyValuePair <string, string> >();
                foreach (var key in ModelState.Keys)
                {
                    errorMessages.AddRange(ModelState[key].Errors
                                           .Select(error => new KeyValuePair <string, string>(key, error.ErrorMessage)));
                }

                return(BadRequest(GeneralResponse <Student> .ValidationError(errorMessages)));
            }

            var studentEntity = _studentService.QueryStudentById(studentDto.Id);

            if (studentEntity == null)
            {
                return(NotFound());
            }

            studentEntity.Name        = studentDto.Name;
            studentEntity.Age         = studentDto.Age;
            studentEntity.StudentNo   = studentDto.StudentNo;
            studentEntity.PhoneNumber = studentDto.PhoneNumber;

            _studentService.EditStudent(studentEntity);
            return(NoContent());
        }
        public ActionResult <Student> CreateStudent([FromBody] StudentAddDto studentDto)
        {
            if (!ModelState.IsValid)
            {
                var errorMessages = new List <KeyValuePair <string, string> >();
                foreach (var key in ModelState.Keys)
                {
                    errorMessages.AddRange(ModelState[key].Errors
                                           .Select(error => new KeyValuePair <string, string>(key, error.ErrorMessage)));
                }

                return(BadRequest(GeneralResponse <Student> .ValidationError(errorMessages)));
            }

            var studentEntity = new Student
            {
                Name        = studentDto.Name,
                StudentNo   = studentDto.StudentNo,
                Age         = studentDto.Age,
                PhoneNumber = studentDto.PhoneNumber
            };

            var studentAfterAdd = _studentService.AddStudent(studentEntity);

            return(Created(new Uri($"{Request.Path}/{studentAfterAdd.Id}", UriKind.Relative),
                           GeneralResponse <Student> .Ok(studentAfterAdd)));
        }