コード例 #1
0
        //С САМОЛЁТОМ
        private void TakeOrGiveBaggageFromPlane(string planeId, string carId, TransferAction action, int baggageCount)
        {
            BaggageTransferRequest btr = new BaggageTransferRequest()
            {
                PlaneId      = planeId,
                BaggageCarId = carId,
                Action       = action,
                BaggageCount = baggageCount
            };

            mqClient.Send(queueToAirPlane, btr); //отправляем сообщение самолёту о переданном багаже или о том, сколько вмещается в машину
        }
コード例 #2
0
        void BaggageTransferResponse(BaggageTransferRequest req)
        {
            Airplane plane = airplanes[req.PlaneId];

            lock (plane)
            {
                if (req.Action == TransferAction.Take)
                {
                    mqClient.Send <BaggageTransfer>(queuesTo[Component.Baggage], new BaggageTransfer()
                    {
                        BaggageCarId = req.BaggageCarId,
                        BaggageCount = req.BaggageCount
                    });
                    plane.BaggageAmount -= req.BaggageCount;
                }
                else
                {
                    plane.BaggageAmount += req.BaggageCount;
                }
            }
        }