public bool addItem(int guestID, string itemName, string itemDesc, int itemQnty, decimal itemPrice)
        {
            PostCharge postCharge = null;
            var        tempCharge = _chargeGateway.findByGuestID(guestID).FirstOrDefault();

            if (tempCharge == null)
            {
                PaymentFactory factory = PaymentFactory.getInstance();
                postCharge = factory.createPayment(guestID: guestID, type: "PostCharge",
                                                   amount: itemPrice * itemQnty, status: "Pending", method: "");
                _chargeGateway.insert(postCharge);
            }
            else
            {
                postCharge = tempCharge;
            }

            var item = new ReceiptItem();

            item.Name        = itemName;
            item.Description = itemDesc;
            item.Quantity    = itemQnty;
            item.Price       = itemPrice;

            try {
                postCharge.ItemList.Add(item);
                _chargeGateway.update(postCharge);
                return(true);
            } catch (Exception e) {
                return(false);
            }
        }
 public static PaymentFactory getInstance()
 {
     if (instance == null)
     {
         instance = new PaymentFactory();
     }
     return(instance);
 }
Example #3
0
        public void notifyCancellation(int resID, decimal price)
        {
            PaymentFactory factory = PaymentFactory.getInstance();
            Reservation    res     = _reservationservice.SearchByReservationId(resID);
            int            guestID = int.Parse(res.GetReservation()["guestID"].ToString());

            ReservationInvoice resInvoice =
                factory.createPayment(guestID: guestID, resID: resID, type: "ReservationInvoice",
                                      amount: price, status: "Outstanding", method: "");

            _invoiceGateway.insert(resInvoice);
        }