//converts order object into an xml string
        public static string Encode(OrderClass order)
        {
            String        encoded;
            XmlSerializer ser = new XmlSerializer(typeof(OrderClass));

            using (StringWriter writer = new StringWriter())
            {
                ser.Serialize(writer, order);
                encoded = writer.ToString();
            }
            //Console.WriteLine("CODED CODED CODED "+encoded);
            return(encoded);
        }
        //Processes the order by retrieving the decoded object, creates a new thread to process order

        public void decodeprocess()
        {
            string     order  = Program.buffer.getOneCell();
            OrderClass order2 = Decoder.Decode(order);
            Thread     thread = new Thread(() => OrderProcessing.process(order2, getPrice()));

            processingThreads.Add(thread);
            thread.Start();

            //USED FOR TESTING
            // Console.WriteLine("ADDED TO BUFFER" + order2.ToString());
            //Console.WriteLine(getPrice() + "    WHAT IS SENT TO PROCESS");
        }
Exemplo n.º 3
0
        /// Called once the TravelAgency thread has come back from sleeping. To create an order by encoding the order object and adding to buffer.
        private void CreateOrder(int rooms)
        {
            // Tell system no order is needed
            roomsNeeded = false;
            //Create order object
            OrderClass order = new OrderClass();

            order.Rooms = rooms;
            int travelId = Convert.ToInt32(Thread.CurrentThread.Name);

            agencyID       = travelId;
            order.SenderId = travelId;
            order.CardNo   = creditsample[travelId - 1];
            start          = DateTime.Now;
            Program.buffer.setOneCell(Encoder.Encode(order));
        }