private void Save()
        {
            BookingRooms_ServicesBO aBookingRooms_ServicesBO = new BookingRooms_ServicesBO();
            BookingRooms_Services aBookingRooms_Services;

            List<string> aList = aListSelected.Where(p => p.Tag == null || p.Tag == string.Empty).Select(p => p.Tag).ToList();

            if (aList.Count > 0)
            {
                MessageBox.Show("Có dịch vụ nào đó chưa được chọn người trả tiền");
            }
            else
            {
                for (int i = 0; i < aListSelected.Count; i++)
                {
                    aBookingRooms_Services = aBookingRooms_ServicesBO.Select_ByID(aListSelected[i].ID);
                    if (aBookingRooms_Services != null)
                    {
                        aBookingRooms_Services.Cost = aListSelected[i].Cost;
                        aBookingRooms_Services.Quantity = aListSelected[i].Quantity;
                        aBookingRooms_Services.PercentTax = aListSelected[i].PercentTax;
                        aBookingRooms_Services.Date = aListSelected[i].Date;
                        aBookingRooms_Services.Tag = aListSelected[i].Tag;
                        aBookingRooms_ServicesBO.Update(aBookingRooms_Services);

                    }
                    else
                    {
                        aBookingRooms_Services = new BookingRooms_Services();
                        aBookingRooms_Services.Info = "";
                        aBookingRooms_Services.Type = 1;
                        aBookingRooms_Services.Status = 1;
                        aBookingRooms_Services.Disable = false;
                        aBookingRooms_Services.IDBookingRoom = this.IDBookingRoom;
                        aBookingRooms_Services.IDService = aListSelected[i].IDService;
                        aBookingRooms_Services.Cost = aListSelected[i].Cost;
                        aBookingRooms_Services.Date = dtpDate.DateTime;
                        aBookingRooms_Services.CostRef_Services = aListSelected[i].CostRef_Services;
                        aBookingRooms_Services.PercentTax = 10;// de mac dinh
                        aBookingRooms_Services.Quantity = aListSelected[i].Quantity;
                        aBookingRooms_Services.Tag = aListSelected[i].Tag;
                        aBookingRooms_ServicesBO.Insert(aBookingRooms_Services);

                    }
                }
                foreach (BookingRooms_Services items in this.aListRemove)
                {
                    aBookingRooms_ServicesBO.Delete(items.ID);
                }

                if (this.afrmTsk_Payment_Step2 != null)
                {
                    this.afrmTsk_Payment_Step2.Reload();
                }

                MessageBox.Show("Thực hiện thành công!", "Thông báo ", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
        }
        //hiennv
        public bool PaymentRoom(PaymentEN aPaymentEN)
        {
            try
            {
                BookingRsBO aBookingRsBO = new BookingRsBO();
                BookingRs aBookingRs = aBookingRsBO.Select_ByID(aPaymentEN.IDBookingR);
                if (aBookingRs != null)
                {
                    aBookingRs.ID = aPaymentEN.IDBookingR;
                    aBookingRs.PayMenthod = aPaymentEN.PayMenthod;
                    aBookingRs.StatusPay = 3;
                    aBookingRs.Status = 8;
                    aBookingRs.DatePay = DateTime.Now;
                    aBookingRs.BookingMoney = 0;

                    aBookingRsBO.Update(aBookingRs);
                }

                BookingRoomsBO aBookingRoomsBO = new BookingRoomsBO();
                BookingRooms_ServicesBO aBookingRooms_ServicesBO = new BookingRooms_ServicesBO();
                for (int i = 0; i < aPaymentEN.aListInfoDetailPaymentEN.Count; i++)
                {
                    if (aPaymentEN.aListInfoDetailPaymentEN[i].aBookingRooms.IDBookingR == aPaymentEN.IDBookingR)
                    {

                        BookingRooms aBookingRooms = aBookingRoomsBO.Select_ByID(aPaymentEN.aListInfoDetailPaymentEN[i].aBookingRooms.ID);
                        if (aBookingRooms != null)
                        {
                            aBookingRooms.ID = aPaymentEN.aListInfoDetailPaymentEN[i].aBookingRooms.ID;
                            aBookingRooms.PercentTax = aPaymentEN.aListInfoDetailPaymentEN[i].aBookingRooms.PercentTax;
                            decimal? cost = aPaymentEN.aListInfoDetailPaymentEN[i].aBookingRooms.Cost == null ? aPaymentEN.aListInfoDetailPaymentEN[i].aBookingRooms.CostRef_Rooms : aPaymentEN.aListInfoDetailPaymentEN[i].aBookingRooms.Cost;
                            aBookingRooms.Cost = cost;
                            aBookingRooms.Status = 8;
                            aBookingRooms.CheckOutActual = aPaymentEN.aListInfoDetailPaymentEN[i].CheckOut;
                            aBookingRooms.TimeInUse = Convert.ToDecimal(aPaymentEN.aListInfoDetailPaymentEN[i].DateInUse * 24 * 60);

                            aBookingRoomsBO.Update(aBookingRooms);
                        }

                        for (int j = 0; j < aPaymentEN.aListInfoDetailPaymentEN[i].aListService.Count; j++)
                        {
                            if (aPaymentEN.aListInfoDetailPaymentEN[i].aBookingRooms.ID == aPaymentEN.aListInfoDetailPaymentEN[i].aListService[j].IDBookingRoom)
                            {
                                BookingRooms_Services aBookingRooms_Services = aBookingRooms_ServicesBO.Select_ByID(aPaymentEN.aListInfoDetailPaymentEN[i].aListService[j].IDBookingRoomService);
                                if (aBookingRooms_Services != null)
                                {
                                    aBookingRooms_Services.ID = aPaymentEN.aListInfoDetailPaymentEN[i].aListService[j].IDBookingRoomService;
                                    aBookingRooms_Services.Quantity = aPaymentEN.aListInfoDetailPaymentEN[i].aListService[j].Quantity;
                                    aBookingRooms_Services.PercentTax = aPaymentEN.aListInfoDetailPaymentEN[i].aListService[j].PercentTax;
                                    aBookingRooms_Services.Cost = aPaymentEN.aListInfoDetailPaymentEN[i].aListService[j].Cost;
                                    aBookingRooms_Services.Status = 8;

                                    aBookingRooms_ServicesBO.Update(aBookingRooms_Services);
                                }
                            }

                        }

                    }

                }
                return true;

            }
            catch (Exception ex)
            {
                return false;
                throw new Exception(string.Format("ReceptionTaskBO.PaymentRoom\n" + ex.Message));
            }
        }