Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
        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);
        }