示例#1
0
        public async Task <ActionResult> CreateItemAsync([FromBody] FunctionInfoDTO email, CancellationToken cancellationToken)
        {
            var newItem = _mapper.Map <FunctionInfo>(email);

            newItem = await _functionInfoService.AddAsync(newItem, cancellationToken);

            if (newItem == null)
            {
                AssignToModelState(_functionInfoService.Errors);
                return(ValidationProblem());
            }

            return(CreatedAtAction(nameof(ItemByIdAsync), new { id = newItem.Id }, null));
        }
示例#2
0
        public async Task <ActionResult> UpdateItemAsync([FromBody] FunctionInfoDTO functionInfoDTO, CancellationToken cancellationToken)
        {
            var specFilter = new FunctionInfoFilterSpecification(functionInfoDTO.Name, null);
            var rowCount   = await _functionInfoService.CountAsync(specFilter, cancellationToken);

            if (rowCount == 0)
            {
                throw new EntityNotFoundException(nameof(FunctionInfo), functionInfoDTO.Id);
            }

            // bind to old item
            var item = _mapper.Map <FunctionInfo>(functionInfoDTO);

            var result = await _functionInfoService.UpdateAsync(item, cancellationToken);

            if (!result)
            {
                AssignToModelState(_functionInfoService.Errors);
                return(ValidationProblem());
            }

            return(CreatedAtAction(nameof(ItemByIdAsync), new { id = item.Id }, null));
        }