private async Task DispatchOrderAssignmentAsync()

in RobotOrchestrator.OrderManager/OrderManager.cs [170:198]


        private async Task<Order> DispatchOrderAssignmentAsync(OrderAssignment assignment)
        {
            var order = assignment.Order;
            var robot = assignment.Robot;

            var job = new Job()
            {
                RobotId = robot.DeviceId,
                OrderId = order.Id,
                StartPosition = order.StartPosition,
                EndPosition = order.EndPosition
            };

            var success = await dispatcherClient.SendJobAsync(job);

            if (!success)
            {
                order.Status = OrderStatus.Failed;
                job.Status = JobStatus.Failed;
            }
            else
            {
                order.Status = OrderStatus.InProgress;
                job.Status = JobStatus.Queued;
            }

            order.Jobs.Add(job);
            return order;
        }