Ejemplo n.º 1
0
        public async Task <IActionResult> CreateItem([FromBody] SaveItemResource saveItemResource)
        {
            saveItemResource.SellerId = getUserId();

            var validator            = new SaveItemResourceValidator();
            ValidationResult results = validator.Validate(saveItemResource);

            if (!results.IsValid)
            {
                return(BadRequest(results.Errors));
            }

            Item itemToCreate = _mapper.Map <SaveItemResource, Item>(saveItemResource);

            var newItem = await _itemService.CreateItem(itemToCreate);

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

            var item = await _itemService.GetItemById(newItem.Id);

            // map item to itemResource before returning in an OkResult object
            ItemResource itemResource = _mapper.Map <Item, ItemResource>(item);

            return(Ok(itemResource));
        }