public ComplexWord CreateWord(ComplexWordForCreationDto dto) { if (_query.Any(x => x.Name.Equals(dto.Name))) { throw new CreationException($"Name: {dto.Name} already exists."); } var complexWord = _mapper.Map <ComplexWord>(dto); var entry = Set.Add(complexWord); return(complexWord); }
public IActionResult CreateComplexWord([FromBody] ComplexWordForCreationDto complexWordForCreationDto) { try { if (complexWordForCreationDto == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(new UnprocessableEntityObjectResult(ModelState)); } var complexWord = _unitOfWork.ComplexWords.CreateWord(complexWordForCreationDto); if (!_unitOfWork.Save()) { throw new Exception("Failed to save word."); } var dto = _unitOfWork.Mapper.Map <ComplexWordDto>(complexWord); return(CreatedAtRoute("GetComplexWords", new ComplexWordResources { Id = dto.Id }, dto)); } catch (CreationException ex) { return(new UnprocessableEntityObjectResult(ex.Message)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }