public async Task <ActionResult <StudentResource> > UpdateStudent(int id, [FromBody] SaveStudentResource saveStudentResource) { var validator = new SaveStudentResourceValidator(); var validationResult = await validator.ValidateAsync(saveStudentResource); var requestIsInvalid = id == 0 || !validationResult.IsValid; if (requestIsInvalid) { _logger.LogError(DateTime.Now + $"\nUpdating student with {id} id failed, validation isn't valid " + validationResult.Errors); return(BadRequest(validationResult.Errors)); } var studentToBeUpdate = await _studentService.GetStudentById(id); var student = _mapper.Map <SaveStudentResource, Student>(saveStudentResource); student.Id = id; await _studentService.UpdateStudent(student); var updatedStudent = await _studentService.GetStudentById(id); var updatedStudentResource = _mapper.Map <Student, StudentResource>(updatedStudent); return(Ok(updatedStudentResource)); }
public async Task <ActionResult <StudentResource> > CreateStudent([FromBody] SaveStudentResource saveStudentResource) { var validator = new SaveStudentResourceValidator(); var validationResult = await validator.ValidateAsync(saveStudentResource); if (!validationResult.IsValid) { _logger.LogError(DateTime.Now + $"\nCreating student failed, validation isn't valid " + validationResult.Errors.ToString()); return(BadRequest(validationResult.Errors)); } var studentToCreate = _mapper.Map <SaveStudentResource, Student>(saveStudentResource); var result = await _studentService.CreateStudent(studentToCreate); var createdStudent = _mapper.Map <Student, StudentResource>(result); return(Ok(createdStudent)); }