public IActionResult UpdateComplexWord(int id, [FromBody] ComplexWordForUpdateDto complexWordForUpdateDto) { try { if (complexWordForUpdateDto == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(new UnprocessableEntityObjectResult(ModelState)); } var word = _unitOfWork.ComplexWords.UpdateComplexWord(id, complexWordForUpdateDto); if (!_unitOfWork.Save()) { throw new Exception("Failed to save word."); } return(NoContent()); } catch (DuplicateNameException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public ComplexWord UpdateComplexWord(int id, ComplexWordForUpdateDto dto) { if (_query.Any(x => x.Name.Equals(dto.Name) && !x.Id.Equals(id))) { throw new DuplicateNameException(dto.Name); } var complexWord = Find(id); if (complexWord == null) { throw new NotFoundException(); } return(_mapper.Map(dto, complexWord)); }