Exemple #1
0
        public async Task <IActionResult> Checkout()
        {
            //1.get current user
            var userId = _httpContextAccessor
                         .HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            //2. get shopping cart items via userId
            var shoppingCart = await _touristRouteRepository.GetShoppingCartByUserId(userId);

            //3. create order
            var order = new Order()
            {
                Id            = Guid.NewGuid(),
                UserId        = userId,
                State         = OrderStateEnum.Pending,
                OrderItems    = shoppingCart.ShoppingCartItems,
                CreateDateUTC = DateTime.UtcNow
            };

            shoppingCart.ShoppingCartItems = null;
            //4. save data
            await _touristRouteRepository.AddOrderAsync(order);

            await _touristRouteRepository.SaveAsync();

            //5. return
            return(Ok(_mapper.Map <OrderDto>(order)));
        }
Exemple #2
0
        public async Task <IActionResult> Checkout()
        {
            //1. 獲得當前用戶
            var userId = _httpContextAccessor.HttpContext.User
                         .FindFirst(ClaimTypes.NameIdentifier).Value;

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

            // 3. 創建訂單
            var order = new Order()
            {
                Id            = Guid.NewGuid(),
                UserId        = userId,
                State         = OrderStateEnum.Pending,
                OrderItems    = shoppingCarrt.ShoppingCartItems,
                CreateDateUTC = DateTime.UtcNow
            };

            //清空購物車
            shoppingCarrt.ShoppingCartItems = null;


            //4. 保存數據
            await _touristRouteRepository.AddOrderAsync(order);

            await _touristRouteRepository.SaveAsync();

            //5. return
            var orderDto = _mapper.Map <OrderDto>(order);

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

            // 3 创建订单
            var order = new Order()
            {
                Id            = Guid.NewGuid(),
                UserId        = userId,
                State         = OrderStateEnum.Pending,
                OrderItems    = shoppingcart.ShoppingCartItems,
                CreateDateUTC = DateTime.UtcNow
            };

            // 清空当前购物车
            shoppingcart.ShoppingCartItems = null;
            // 4 保存数据
            await _touristRouteRepository.AddOrderAsync(order);

            await _touristRouteRepository.SaveAsync();

            // 5 return
            return(Ok(_mapper.Map <OrderDto>(order)));
        }
        public async Task <IActionResult> Checkout()
        {
            var currentUserId = _httpContextAccessor
                                .HttpContext
                                .User
                                .FindFirst(ClaimTypes.NameIdentifier)
                                .Value;

            var shoppingCart = await _touristRouteRepository
                               .GetShoppingCartByUserIdAsync(currentUserId);

            var order = new Order()
            {
                Id            = Guid.NewGuid(),
                UserId        = currentUserId,
                State         = OrderState.Pending,
                OrderItems    = shoppingCart.ShoppingCartItems,
                CreateDateUtc = DateTime.UtcNow
            };

            shoppingCart.ShoppingCartItems = null;

            await _touristRouteRepository.AddOrderAsync(order);

            await _touristRouteRepository.SaveAsync();

            return(Ok(_mapper.Map <OrderDto>(order)));
        }
        public async Task <IActionResult> Post()
        {
            var userId       = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            var shoppingCart = await _touristRouteRepository.GetUserShoppingCart(userId);

            // 3 创建订单
            var order = new Order()
            {
                Id         = Guid.NewGuid(),
                UserId     = userId,
                State      = OrderStateEnum.Pending,
                OrderItems = shoppingCart.ShoppingCartItems,
                CreateDate = DateTime.UtcNow,
            };

            shoppingCart.ShoppingCartItems = null;

            // 4 保存数据
            await _touristRouteRepository.AddOrderAsync(order);

            await _touristRouteRepository.SaveAsync();

            return(Ok(_mapper.Map <OrderDto>(order)));
        }