示例#1
0
 public IActionResult CreateItem(ItemPostDto item)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest());
     }
     return(Ok(_itemService.CreateItemAsync(item)));
 }
示例#2
0
        public Task CreateItemAsync(ItemPostDto command)
        {
            var createItemCommand = _itemCommandFactory.CreateInstance();

            createItemCommand.Description = command.Description;
            createItemCommand.Upc         = command.Upc;

            return(_dispatcher.SendAsync(createItemCommand));
        }
        public void GivenItem_ReturnsNewId()
        {
            var createdItem = new ItemPostDto()
            {
                Description = _chance.Sentence(5),
                Upc         = TestUtils.CreateUpc()
            };

            var actionResult   = _itemsController.CreateItem(createdItem);
            var okObjectResult = actionResult as OkObjectResult;
        }
示例#4
0
        public ActionResult UpdateItem(int id, ItemPostDto item)
        {
            Item existingItem = _itemRepository.Get(id);

            if (existingItem == null)
            {
                return(NotFound());
            }

            _mapper.Map(item, existingItem);

            _itemRepository.SaveChanges();

            return(NoContent());
        }
示例#5
0
        public ActionResult <Item> PostItem(Item item)
        {
            if (item == null)
            {
                return(BadRequest());
            }

            ItemPostDto postedItem = _mapper.Map <ItemPostDto>(item);
            Item        itemModel  = _mapper.Map <Item>(postedItem);

            _itemRepository.Add(itemModel);
            _itemRepository.SaveChanges();

            var itemDto = _mapper.Map <ItemDto>(itemModel);

            return(CreatedAtAction(nameof(GetItem), new { itemDto.Id }, itemDto));
        }
示例#6
0
        public void CreateItemCallsDispatch()
        {
            var postItem = new ItemPostDto()
            {
                Description = _chance.Sentence(5),
                Upc         = TestUtils.CreateUpc()
            };

            var createItemCommand = new CreateItemCommand()
            {
                Id          = Guid.NewGuid(),
                Description = postItem.Description,
                Upc         = postItem.Upc
            };

            _itemCommandFactory.CreateInstance().Returns(createItemCommand);
            _itemService.CreateItemAsync(postItem);
            _commandDispatcher.Received(1).SendAsync(createItemCommand);
        }