public static string getEncodedValue(OrderClass OrderClass)
        {
            // Create the concatenated string i.e. encoded string
            string encodedString = OrderClass.getCreditCardNumber() + "#" + OrderClass.getRoomPrice() + "#" + OrderClass.getNumberOfRooms() + "#" + OrderClass.getSenderID() + "#" + OrderClass.getReceiverID();

            return encodedString ;
        }
        public static void orderProcessing(OrderClass order, int price, String timeStamp)
        {
            string decryptedCreditCard = HotelSupplier.client.Decrypt(order.getCreditCardNumber().ToString());
            if (TransactionAgency.checkForValidity(decryptedCreditCard))
            {
                        if (bStatus != null)
                            bStatus(true, order, timeStamp);
                        return;
            }
            else
                Console.WriteLine("Card is not valid");

            bStatus(false, order, timeStamp);
            return;
        }
 // Function to check buffer repeatedly for entries
 public void hotelFunction()
 {
     do
     {
         Monitor.Enter(MainSystem.mcb);
         try
         {
             for (int i = 0; i < 2; i++)                 // Check all 2 entries
             {
                 string encodedString = MainSystem.mcb.getOneCell(i, hotelID);
                 string[] stringTokens = null;
                 if(encodedString != null)
                     stringTokens = encodedString.Split('?');
                 if (stringTokens != null && stringTokens[0] != null)                        // If entry found
                 {
                     orderObject = EncoderDecoder.getDecodedValue(stringTokens[0]);
                     orderObject.setCreditCardNumber((client.Encrypt(orderObject.getCreditCardNumber().ToString())));
                     var t = new Thread(() => orderProcessing(orderObject, orderObject.getRoomPrice(), stringTokens[1]));      // Start processing order
                     Console.WriteLine("\n======================================================================");
                     Console.WriteLine("Order Received for the Hotel :"+  orderObject.getReceiverID());
                     Console.WriteLine("TravelAgency:{0}, RoomPrice:{1}, NumberOfRooms:{2}", orderObject.getSenderID(), orderObject.getRoomPrice(), orderObject.getNumberOfRooms());
                     Console.WriteLine("======================================================================");
                     t.Start();
                     t.Join();
                 }
             }
         }
         finally
         {
             Monitor.Exit(MainSystem.mcb);
         }
         Thread.Sleep(1000);
     } while (iterations != 100);
 }