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)); }
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)); }