示例#1
0
        public async Task <bool> Do(Request request)
        {
            var order = new Order
            {
                OrderRef        = CreateOrderReference(),
                StripeReference = request.StripeReference,

                FirstName   = request.FirstName,
                LastName    = request.LastName,
                Email       = request.Email,
                PhoneNumber = request.PhoneNumber,
                Address1    = request.Address1,
                Address2    = request.Address2,
                City        = request.City,
                PostCode    = request.PostCode,

                OrderStocks = request.Stocks.Select(x => new OrderStock
                {
                    StockId = x.StockId,
                    Qty     = x.Qty
                }).ToList()
            };
            var success = await _orderManager.CreateOrder(order) > 0;

            if (success)
            {
                await _stockManager.RemoveStockOnHold(request.SessionId);
            }
            return(false);
        }
示例#2
0
        public async Task <bool> Do(Request request)
        {
            if (request.Qty <= 0)
            {
                return(false);
            }

            await _stockManager
            .RemoveStockOnHold(request.StockId, request.Qty, _sessionManager.GetId());

            _sessionManager.RemoveProduct(request.StockId, request.Qty);

            return(true);
        }