public async Task <ActionResult <AuthorDetailResource> > PutAuthor(int id, AuthorSaveResource resource) { Author author = _mapper.Map <Author>(resource); AuthorResponse response = await _authorService.UpdateAsync(id, author); if (!response.Success) { return(BadRequest(response.Message)); } AuthorDetailResource updatedResource = _mapper.Map <AuthorDetailResource>(response.Author); return(Ok(updatedResource)); }
public async Task <ActionResult <AuthorDetailResource> > PostAuthor(AuthorSaveResource resource) { Author author = _mapper.Map <Author>(resource); AuthorResponse response = await _authorService.SaveAsync(author); if (!response.Success) { return(BadRequest(response.Message)); } AuthorDetailResource savedResource = _mapper.Map <AuthorDetailResource>(response.Author); return(CreatedAtAction(nameof(GetAuthor), new { id = savedResource.Id }, savedResource)); }
public async Task <IActionResult> UpdateAuthor(int id, [FromBody] AuthorSaveResource authorResource) { if (!ModelState.IsValid) { return(BadRequest()); } var author = await repository.GetAuthor(id); mapper.Map <AuthorSaveResource, Author>(authorResource, author); await unitOfWork.CompleteAsync(); author = await repository.GetAuthor(author.ID); var result = mapper.Map <Author, AuthorWithBooksResource>(author); return(Accepted(result)); }
public async Task <IActionResult> PostAsync([FromBody] AuthorSaveResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var author = _mapper.Map <AuthorSaveResource, Author>(resource); var result = await _authorService.SaveAsync(author); if (!result.Success) { return(BadRequest(result.Message)); } var authorResource = _mapper.Map <Author, AuthorResource>(result.Author); return(Ok(authorResource)); }
public async Task <IActionResult> CreateAuthor([FromBody] AuthorSaveResource authorResource) { if (!ModelState.IsValid) { return(BadRequest()); } var author = mapper.Map <AuthorSaveResource, Author>(authorResource); author.User = userManager.GetUserAsync(HttpContext.User).Result; repository.Add(author); await unitOfWork.CompleteAsync(); author = await repository.GetAuthor(author.ID); var result = mapper.Map <Author, AuthorWithBooksResource>(author); return(Created(nameof(GetAuthor), result)); }