コード例 #1
0
        public OrderProduct AddItemWithSeatToCart(CartAdd newOrderProduct)
        {
            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                var cart = GetCartId(connection, newOrderProduct.UserId);

                var queryString = @"MERGE OrderProduct AS Target
                                    USING (SELECT @ProductId ProductId, @OrderId OrderId, @Quantity Quantity, @SeatId SeatId) AS Source
                                    ON Target.ProductId = Source.ProductId and Target.Orderid = Source.OrderId and Target.SeatId = Source.SeatId
                                    WHEN MATCHED THEN
                                       UPDATE SET 
                                           Target.Quantity = Target.Quantity + Source.Quantity
                                    WHEN NOT MATCHED THEN
                                       INSERT (ProductId, OrderId, Quantity, SeatId)
                                       VALUES (Source.ProductId, Source.OrderId, Source.Quantity, Source.SeatId)
                                    OUTPUT inserted.*;";
                var parameters  = new
                {
                    ProductId = newOrderProduct.ProductId,
                    OrderId   = cart.Id,
                    Quantity  = newOrderProduct.OrderQuantity,
                    SeatId    = newOrderProduct.SeatId
                };

                var product = connection.QueryFirstOrDefault <OrderProduct>(queryString, parameters);
                if (product != null)
                {
                    return(product);
                }
            }
            throw new Exception("Can't add a new order product");
        }
コード例 #2
0
        public static void Initialize(TestContext context)
        {
            var config = new TestConfig
            {
                ResetHttpContext = true
            };

            var cartAdd         = new BaseIntegrationTest <CartAdd, CartResponse>(config);
            var cartAddRequest  = RequestBuilder.GetCartAddRequestForShoes();
            var cartAddResponse = (Response <CartResponse>)cartAdd.TestObject.Execute(cartAddRequest);

            cartAdd         = new BaseIntegrationTest <CartAdd, CartResponse>();
            cartAddRequest  = RequestBuilder.GetCartAddRequestForGiftCard();
            cartAddResponse = (Response <CartResponse>)cartAdd.TestObject.Execute(cartAddRequest);

            cartAdd        = new BaseIntegrationTest <CartAdd, CartResponse>();
            cartAddRequest = RequestBuilder.GetCartAddRequestForAccessories();
            _result        = (Response <CartResponse>)cartAdd.TestObject.Execute(cartAddRequest);

            _testObject = cartAdd.TestObject;
        }
コード例 #3
0
        public ActionResult AddItemWithSeat(CartAdd Id)
        {
            var order = _connections.AddItemWithSeatToCart(Id);

            return(Accepted(order));
        }