// Consume order from multi buffer cells public void consumeOrder() { while (true) { String s = Program.mcb.getOne(this.hotelName); if (s != null) { EncoderDecoder decoder = new EncoderDecoder(); Order obj = decoder.getDecodedOrder(s); OrderProcessing(obj); } } }
public void placeOrder(String agencyName, string HotelName, int noofRooms) { int cardNumer = rnd.Next(5000, 7500); Monitor.Enter(Program.OrderObject); try { EncoderDecoder encoder = new EncoderDecoder(); Console.WriteLine("Placing order for travel agency ID {0} and ID {1}", HotelName, agencyName); Program.OrderObject.setDataMembers(agencyName, cardNumer, HotelName, noOfRooms); // Console.WriteLine("Encoded String {0}" + EncoderDecoder.getencodedOrder(Program.OrderObject)); string encodedstring = encoder.getencodedOrder(Program.OrderObject); DateTime CurrentTime = DateTime.UtcNow; Program.OrderObject.setTime(CurrentTime); Program.mcb.setOne(encodedstring); } finally { Monitor.Exit(Program.OrderObject); } }