コード例 #1
0
        public async Task AcceptOrder(
            [QueueTrigger("customer-orders", Connection = "QUEUE_STORAGE")] QueuedOrder order,
            [CosmosDB("Coldstart", "Orders", ConnectionStringSetting = "COSMOSDB_CONN")] IAsyncCollector <Order> ordersOutput,
            ILogger log)
        {
            log.LogInformation("New order received, retrieving data from SQL DB");

            var icecream = await _sqlDbService.GetIcecreamById(order.IcecreamId);

            var driver = new Driver();

            if (order.DriverId != null)
            {
                driver = await _sqlDbService.GetDriverById(order.DriverId.Value);
            }

            log.LogInformation("Creating accepted order ...");

            var acceptedOrder = new Order
            {
                Id               = order.Id,
                User             = order.User,
                Date             = order.Date,
                Icecream         = icecream,
                Status           = "Accepted",
                Driver           = driver,
                FullAddress      = order.FullAddress,
                DeliveryPosition = null,
                LastPosition     = null
            };

            await ordersOutput.AddAsync(acceptedOrder);

            log.LogInformation("Done!");
        }
コード例 #2
0
        private void PendingOrdersBtnSend_Click(object sender, RoutedEventArgs e)   // Sends pending order one by one
        {
            var         parent      = (sender as Button).Parent;
            TextBlock   cn          = parent.GetChildrenOfType <TextBlock>().First(x => x.Name == "PendingOrdersCustomerName");
            QueuedOrder queuedOrder = store.FindQueued(cn.Text);

            store.SendOrder(queuedOrder);
        }