public HotelTransaction addHotelTransaction(HotelTransaction transaction)
        {
            Connection con = Connection.getConnection();

            con.db.HotelTransaction.Add(transaction);
            con.db.SaveChanges();

            return(transaction);
        }
Beispiel #2
0
        private void checkOutBtn_Click(object sender, RoutedEventArgs e)
        {
            string reservationIDStr = reservationIDTxt.Text.Trim();
            string damageCostStr = damageCostTxt.Text.Trim();
            string paymentStr = paymentTxt.Text.Trim();
            int    reservationID, damageCost, payment;

            bool success  = int.TryParse(reservationIDStr, out reservationID);
            bool success2 = int.TryParse(damageCostStr, out damageCost);
            bool success3 = int.TryParse(paymentStr, out payment);

            if (!success || !success2 || !success3)
            {
                errorLbl.Text = "Reservation ID, Damage Cost, Payment must be a number!";
            }
            else if (DateTime.Now.Hour <= 8)
            {
                errorLbl.Text = "Check out time is 8 AM";
            }
            else
            {
                int change = totalPrice - payment;
                if (change > 0)
                {
                    errorLbl.Text = "Payment is not enough!";
                }
                else if (change <= 0)
                {
                    HotelTransactionMediator mediator   = new HotelTransactionMediator();
                    RoomMediator             romediator = new RoomMediator();
                    ReservationMediator      rmediator  = new ReservationMediator();
                    HotelTransactionFactory  factory    = new HotelTransactionFactory();

                    changeLbl.Text = "Change = Rp. " + Math.Abs(change).ToString();

                    Reservation      reservation = rmediator.getReservation(reservationID);
                    HotelTransaction transaction = mediator.addHotelTransaction(factory.createNewHotelTransaction((int)reservation.customerID, (int)reservation.roomID, reservation.checkInDate, reservation.checkOutDate));
                    if (transaction == null)
                    {
                        MessageBox.Show("Checkout failed!");
                    }
                    else
                    {
                        MessageBox.Show("Checkout success!");
                    }

                    reservation.status = "Finished";
                    reservation        = rmediator.updateReservation(reservation.reservationID, reservation);
                    Room room = romediator.getRoom((int)reservation.roomID);
                    room.status = "Available";
                    room        = romediator.updateRoom(room.roomID, room);
                }
            }
        }
        public int getLastID()
        {
            Connection con = Connection.getConnection();

            HotelTransaction transaction = (from t in con.db.HotelTransaction orderby t.transactionID descending select t).FirstOrDefault();

            if (transaction == null)
            {
                return(0);
            }
            return(transaction.transactionID);
        }
Beispiel #4
0
        public HotelTransaction createNewHotelTransaction(int customerID, int roomID, DateTime?checkInDate, DateTime?checkOutDate)
        {
            HotelTransactionMediator mediator    = new HotelTransactionMediator();
            HotelTransaction         transaction = new HotelTransaction();

            transaction.transactionID = mediator.getLastID() + 1;
            transaction.customerID    = customerID;
            transaction.employeeID    = Session.getSession().employee.employeeID;
            transaction.roomID        = roomID;
            transaction.checkInDate   = checkInDate;
            transaction.checkOutDate  = checkOutDate;

            return(transaction);
        }
        public HotelTransaction addHotelTransaction(HotelTransaction transaction)
        {
            HotelTransactionRepository repository = new HotelTransactionRepository();

            return(repository.addHotelTransaction(transaction));
        }