Esempio n. 1
0
        public OutputDtoAddBaggedItem AddToBag(int userId, int itemId, InputDtoAddItemToBag inputDtoAddItemToBag)
        {
            var baggedItemFromDto = new BaggedItem
            {
                Quantity = inputDtoAddItemToBag.Quantity,
                Size     = inputDtoAddItemToBag.Size
            };

            var baggedItemFromDb = _baggedItemRepository.AddToBag(userId, itemId, baggedItemFromDto);
            var item             = _itemRepository.GetById(itemId);

            return(new OutputDtoAddBaggedItem
            {
                Id = baggedItemFromDb.Id,
                AddedAt = baggedItemFromDb.AddedAt,
                Quantity = baggedItemFromDb.Quantity,
                Size = baggedItemFromDb.Size,
                BagItem = new OutputDtoAddBaggedItem.Item
                {
                    Id = item.Id,
                    Label = item.Label,
                    Price = item.Price * baggedItemFromDb.Quantity,
                    ImageItem = item.ImageItem,
                    DescriptionItem = item.DescriptionItem
                }
            });
        }
        public ActionResult <OutputDtoAddBaggedItem> AddToBag(int userId, int itemId,
                                                              [FromBody] InputDtoAddItemToBag inputDtoAddItemToBag)
        {
            try
            {
                var response = _baggedItemService.AddToBag(userId, itemId, inputDtoAddItemToBag);

                return(Ok(response));
            }
            catch (DuplicateSqlPrimaryException e)
            {
                return(NotFound(new { message = e.Message }));
            }
        }