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); }
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); }