public async Task <ActionResult <LecturerResource> > UpdateLecturer(int id, [FromBody] SaveLecturerResource saveLecturerResource) { var validator = new SaveLecturerResourceValidator(); var validationResult = await validator.ValidateAsync(saveLecturerResource); var requestIsInvalid = id == 0 || !validationResult.IsValid; if (requestIsInvalid) { _logger.LogError(DateTime.Now + $"\nUpdating lecturer with {id} id failed, validation isn't valid " + validationResult.Errors.ToString()); return(BadRequest(validationResult.Errors)); } var lecturerToBeUpdate = await _lecturerService.GetLecturerById(id); var lecturer = _mapper.Map <SaveLecturerResource, Lecturer>(saveLecturerResource); lecturer.Id = id; await _lecturerService.UpdateLecturer(lecturer); var updatedLecturer = await _lecturerService.GetLecturerById(id); var updatedLecturerResource = _mapper.Map <Lecturer, LecturerResource>(updatedLecturer); return(Ok(updatedLecturerResource)); }
public async Task <ActionResult <LecturerResource> > CreateLecturer([FromBody] SaveLecturerResource saveLecturerResource) { var validator = new SaveLecturerResourceValidator(); var validationResult = await validator.ValidateAsync(saveLecturerResource); if (!validationResult.IsValid) { _logger.LogError(DateTime.Now + $"\nCreating lecturer failed, validation isn't valid " + validationResult.Errors.ToString()); return(BadRequest(validationResult.Errors)); } var lecturerToCreate = _mapper.Map <SaveLecturerResource, Lecturer>(saveLecturerResource); var result = await _lecturerService.CreateLecturer(lecturerToCreate); var createdLecturer = _mapper.Map <Lecturer, LecturerResource>(result); return(Ok(result)); }