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); }
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); }