Example #1
0
 public Task <BasketItemDto> CreateAsync(CreateBasketItemDto input)
 {
     return(_service.CreateAsync(input));
 }
        public async Task <ServiceResponse <GetBasketItemDto> > CreateBasketItemAsync(CreateBasketItemDto createBasketItemDto, Basket basket)
        {
            var response = new ServiceResponse <GetBasketItemDto>();

            try {
                var basketItem = _mapper.Map <BasketItem>(createBasketItemDto);

                await _context.BasketItems.AddAsync(basketItem);

                var product = _context.Products
                              .Include(x => x.Category)
                              .FirstOrDefault(c => c.Id == createBasketItemDto.ProductId);

                // var category = _mapper.Map<Category>(product.Category);
                basketItem.Product = product;

                basketItem.Basket = basket;

                basketItem.Price = product.Price * basketItem.Quantity;

                await _context.SaveChangeWithValidationAsync();

                var getBasketItemDto = _mapper.Map <GetBasketItemDto>(basketItem);

                response.Data = getBasketItemDto;

                return(response);
            }
            catch (Exception ex) {
                response.Success = false;
                response.Message = ex.Message;
                response.Code    = ErrorCode.NONE;

                _logger.LogError(ex.Message, ex.StackTrace);
                return(response);
            }
        }