//С САМОЛЁТОМ 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); //отправляем сообщение самолёту о переданном багаже или о том, сколько вмещается в машину }
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; } } }