Пример #1
0
        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);
        }
Пример #2
0
        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));
            }
        }