Exemple #1
0
        public async Task <IActionResult> AddShoppingCartItem(
            [FromBody] AddShoppingCartItemDto addShoppingCartItemDto)
        {
            //1. 取得當前用戶
            var userId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;

            //2. 使用userid獲得購物車
            var shoppingCart = await _touristRouteRepository.GetShoppingCartByUserId(userId);

            //3. 創建lineItem
            var touristRoute = await _touristRouteRepository
                               .GetTouristRouteAsync(addShoppingCartItemDto.TouristRouteId);

            if (touristRoute == null)
            {
                return(NotFound("旅遊路線不存在!"));
            }

            var lineItem = new LineItem()
            {
                TouristRouteId  = addShoppingCartItemDto.TouristRouteId,
                ShoppingCartId  = shoppingCart.Id,
                OriginPrice     = touristRoute.OriginPrice,
                DiscountPresent = touristRoute.DiscountPresent
            };

            // 4. 添加lineItem,並保存至DB
            await _touristRouteRepository.AddShoppingCartItem(lineItem);

            await _touristRouteRepository.SaveAsync();

            var shoppingCartDto = _mapper.Map <ShoppingCartDto>(shoppingCart);

            return(Ok(shoppingCartDto));
        }
Exemple #2
0
        public async Task <IActionResult> AddShoppingCartItem([FromBody] AddShoppingCartItemDto addShoppingCartItemDto)
        {
            // 1 获取当前用户
            var userId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            // 2 使用 userid 获得购物车
            var shoppingcart = await _touristRouteRepository.GetShoppingCartByUserId(userId);

            // 3 创建 lineItem
            var touristRoute = await _touristRouteRepository.GetTouristRouteAsync(addShoppingCartItemDto.TouristRouteId);

            if (touristRoute == null)
            {
                return(NotFound("路由路线不存在"));
            }
            var lineItem = new LineItem()
            {
                TouristRouteId  = addShoppingCartItemDto.TouristRouteId,
                ShoppingCartId  = shoppingcart.Id,
                OriginalPrice   = touristRoute.OriginalPrice,
                DiscountPresent = touristRoute.DiscountPresent
            };
            // 4 添加 lineitem,并保存数据库
            await _touristRouteRepository.AddShoppingCartItem(lineItem);

            await _touristRouteRepository.SaveAsync();

            return(Ok(_mapper.Map <ShoppingCartDto>(shoppingcart)));
        }
Exemple #3
0
        public async Task <IActionResult> AddItemToCart([FromBody] ShoppingCartItemForAddDto newItem)
        {
            var userId       = _httpContext.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            var shoppingCart = await _touristRouteRepository.GetShoppingCartByUserId(userId);

            var touristRoute = await _touristRouteRepository.GetTouristRouteAsync(newItem.TouristRouteId);

            if (touristRoute == null)
            {
                return(NotFound("旅游路线不存在"));
            }
            var lineItem = new LineItem()
            {
                TouristRouteId  = newItem.TouristRouteId,
                ShoppingCartId  = shoppingCart.Id,
                OriginalPrice   = touristRoute.OriginalPrice,
                DiscountPresent = touristRoute.DiscountPresent,
            };

            await _touristRouteRepository.AddShoppingCartItem(lineItem);

            await _touristRouteRepository.SaveAsync();

            return(Ok(_mapper.Map <ShoppingCartDto>(shoppingCart)));
        }
        public async Task <IActionResult> Post([FromBody] AddShoppingCartItemDto addShoppingCartItemDto)
        {
            var userId       = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            var shoppingCart = await _touristRouteRepository.GetUserShoppingCart(userId);

            var touristRouteFromRepo = await _touristRouteRepository.GetTouristRouteAsync(addShoppingCartItemDto.TouristRouteId);

            if (touristRouteFromRepo == null)
            {
                return(NotFound($"旅游路线{addShoppingCartItemDto.TouristRouteId}不存在"));
            }

            var lineItem = new LineItem()
            {
                TouristRouteId  = addShoppingCartItemDto.TouristRouteId,
                ShoppingCartId  = shoppingCart.Id,
                OriginalPrice   = touristRouteFromRepo.OriginalPrice,
                DiscountPresent = touristRouteFromRepo.DiscountPresent
            };

            // 4 添加LineItem,并保存数据库
            await _touristRouteRepository.AddShoppingCartItem(lineItem);

            await _touristRouteRepository.SaveAsync();

            return(Ok(_mapper.Map <ShoppingCartDto>(shoppingCart)));
        }