public IActionResult CreateWord([FromBody] WordForCreationDto wordForCreationDto) { try { if (wordForCreationDto == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(new UnprocessableEntityObjectResult(ModelState)); } var word = _unitOfWork.Words.CreateWord(wordForCreationDto); if (!_unitOfWork.Save()) { throw new Exception("Failed to save word."); } var dto = _unitOfWork.Mapper.Map <WordDto>(word); return(CreatedAtRoute("GetWord", new { id = dto.Id }, dto)); } catch (CreationException ex) { return(new UnprocessableEntityObjectResult(ex.Message)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public Word CreateWord(WordForCreationDto dto) { if (_query.Any(x => x.Name.Equals(dto.Name))) { throw new CreationException($"Name: {dto.Name} already exists."); } var word = _mapper.Map <Word>(dto); Set.Add(word); return(word); }