Example #1
0
        public override async Task <PlaceOrderResponse> PlaceOrder(
            PlaceOrderRequest request, ServerCallContext context)
        {
            var time = DateTimeOffset.UtcNow.AddHours(0.5d);

            await _orderPublisher.PublishOrder(request.CrustId, request.ToppingIds, time);

            var decrementToppingsRequest = new DecrementToppingsRequest
            {
                ToppingIds = { request.ToppingIds }
            };

            await _ingredients.DecrementToppingsAsync(decrementToppingsRequest);

            var decrementCrustsRequest = new DecrementCrustsRequest
            {
                CrustId = request.CrustId
            };

            await _ingredients.DecrementCrustsAsync(decrementCrustsRequest);

            return(new PlaceOrderResponse
            {
                Time = time.ToTimestamp()
            });
        }
Example #2
0
        public override async Task <DecrementToppingsResponse> DecrementToppings(DecrementToppingsRequest request, ServerCallContext context)
        {
            foreach (var toppingId in request.ToppingIds)
            {
                await _toppingData.DecrementStockAsync(toppingId);
            }

            return(new DecrementToppingsResponse());
        }