예제 #1
0
 public static String encoder(OrderClass order)
 {
     if (order != null)
     {
         String orderId      = order.getOrderId().ToString() + "&";
         String senderId     = order.getSenderId().ToString() + "#";
         String cardNo       = order.getCardNo().ToString() + "$";
         String unitPrice    = order.getUnitPrice().ToString() + "?";
         String amountOfRoom = order.getAmt().ToString() + "%";
         String senderTime   = order.getSenderTime().ToString() + "@";
         String str          = orderId + senderId + cardNo + unitPrice + amountOfRoom + senderTime;
         HotelBookingSystem.CryptService.ServiceClient encrypt = new HotelBookingSystem.CryptService.ServiceClient();
         //               Console.WriteLine("string: {0}, encoded: {1}", order, encrypt.Encrypt(str));
         return(encrypt.Encrypt(str));
     }
     else
     {
         return("Null order!");
     }
 }
예제 #2
0
        public void orderProcessing()
        {
            String orderString;

            while (true)
            {
                orderString = Program.mcb.getOneCell();
                OrderClass orderObj = Coder.decoder(orderString);
                Monitor.Enter(roomPrice);
                if (HotelSupplier.checkCreditCardNumber(orderObj.getCardNo()))
                {
                    double amountOfCharge = orderObj.getUnitPrice() * orderObj.getAmt() + taxRate * orderObj.getUnitPrice() * orderObj.getAmt() + locationCharge;
                    orderObj.setReceiveTime(DateTime.Now);
                    if (orderCompleted != null)
                    {
                        orderCompleted(orderObj, amountOfCharge);
                    }
                }
                Monitor.Exit(roomPrice);
            }
        }