public async Task <IActionResult> UpdateReferenceBook([FromBody] ReferenceBook referenceBook) { if (ModelState.IsValid) { var command = new EditReferenceBookCommand(referenceBook); var result = await _mediator.Send(command); return(Ok(result)); } else { return(BadRequest(ModelState)); } }
public async Task <ReferenceBookDTO> Handle(EditReferenceBookCommand request, CancellationToken cancellationToken) { var bookUpdate = request.ReferenceBook; var existingReferenceBook = await _unitOfWork.GetRepository <ReferenceBook>().FindAsync(bookUpdate.Id); var category = _unitOfWork.GetRepository <Category>().Find(existingReferenceBook.categoryId); existingReferenceBook.Category = category; existingReferenceBook.Pages = bookUpdate.Pages; existingReferenceBook.Author = bookUpdate.Author; existingReferenceBook.Title = bookUpdate.Title; _unitOfWork.GetRepository <ReferenceBook>().Update(existingReferenceBook); _unitOfWork.SaveChanges(); return(_mapper.Map <ReferenceBookDTO>(existingReferenceBook)); }