Example #1
0
        public PaymentWindow(Room roomToPay)
        {
            InitializeComponent();

            _roomToPay = roomToPay;

            DateTime dateRent = new DateTime();

            dateRent = RentInfo.GetDateCheckin(_roomToPay.Name);
            DateTime datePay = new DateTime();

            datePay = DateTime.Now;

            daysRent = datePay.Subtract(dateRent);

            double roomPrice = (float)_roomToPay.Price * (daysRent.Days + 1); // Tiền phòng gốc theo ngày thuê (chưa tính phụ thu).
            int    quantum   = 0;

            if (RoomRentalDetail.GetQuantumCustomerInRoom(_roomToPay.Name) > RoomType.GetMaxCustomerInRoom(_roomToPay.Type))
            {
                quantum = RoomRentalDetail.GetQuantumCustomerInRoom(_roomToPay.Name) - RoomType.GetMaxCustomerInRoom(_roomToPay.Type); // Số lượng khách vượt quá số khách tối đa theo quy định của loại phòng đó.
            }
            double surchargeCustomerType    = RoomRentalDetail.GetSurchargeCustomerInRoom(_roomToPay.Name) / 100;                      // Phụ thu theo loại khách trong phòng.
            double surchargeQuantumCustomer = CustomerSurcharge.GetSurchargeByQuantum(quantum) / 100;                                  // Phụ thu theo số khách vượt quá số khách tối đa theo quy định của loại phòng đó.

            totalMoney = roomPrice + roomPrice * surchargeCustomerType + roomPrice * surchargeQuantumCustomer;

            txbRoomName.Text     = roomToPay.Name;
            txbRoomType.Text     = roomToPay.Type;
            txbDateRented.Text   = dateRent.ToString("dd/MM/yyyy");
            txbDaysRented.Text   = (daysRent.Days + 1).ToString();
            txbNumberGuests.Text = "" + RoomRentalDetail.GetQuantumCustomerInRoom(_roomToPay.Name);
            txbIsForeigns.Text   = "" + RoomRentalDetail.GetQuantumForeignCustomerInRoom(_roomToPay.Name);
            txbTotalMoney.Text   = "" + string.Format("{0:N0}", totalMoney);
        }
Example #2
0
        private void CbCustomerName_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            txbAddress.Text    = ((Customer)cbCustomerName.SelectedItem).Address;
            txbCustomerID.Text = ((Customer)cbCustomerName.SelectedItem).IdCardNumber.ToString();
            //Update payment detail
            List <Room> rooms = new List <Room>();

            rooms.Clear();
            rooms.AddRange(Room.GetRoomsByCustomerID(((Customer)cbCustomerName.SelectedItem).IdCardNumber));

            DateTime dateRent = new DateTime();
            DateTime datePay  = new DateTime();

            foreach (var item in rooms)
            {
                dateRent = RentInfo.GetDateCheckin(item.Name);
                datePay  = DateTime.Now;
                TimeSpan daysRent = datePay.Subtract(dateRent);

                double roomPrice = (float)item.Price * (daysRent.Days + 1); // Tiền phòng gốc theo ngày thuê (chưa tính phụ thu).
                int    quantum   = 0;
                if (RoomRentalDetail.GetQuantumCustomerInRoom(item.Name) > RoomType.GetMaxCustomerInRoom(item.Type))
                {
                    quantum = RoomRentalDetail.GetQuantumCustomerInRoom(item.Name) - RoomType.GetMaxCustomerInRoom(item.Type); // Số lượng khách vượt quá số khách tối đa theo quy định của loại phòng đó.
                }
                double surchargeCustomerType    = RoomRentalDetail.GetSurchargeCustomerInRoom(item.Name) / 100;                // Phụ thu theo loại khách trong phòng.
                double surchargeQuantumCustomer = CustomerSurcharge.GetSurchargeByQuantum(quantum) / 100;                      // Phụ thu theo số khách vượt quá số khách tối đa theo quy định của loại phòng đó.
                totalMoney = roomPrice + roomPrice * surchargeCustomerType + roomPrice * surchargeQuantumCustomer;

                PaymentDetail.UpdatePaymentDetail(item.Name, daysRent.Days + 1, totalMoney);
            }

            //Calculate total fee
            txbTotalFee.Text = TotalFee;

            LoadPaymentDetailFromDB();
        }