public void BookPrice() { string hotelid = this.Request["HotelID"]; string hotelName = this.Request["HotelName"]; string strCheckin = this.Request["CheckIn"]; string GTACITYCODE = this.Request["GTACITYCODE"]; if (this.lblSubtotal.Text.Trim() == "0.00") { return; } //���������Mark���ֵ��ʱ�� �ж������markup�Ƿ�С�����ֵ if (this.priceflag.Value.Trim().ToUpper() == "YES") { decimal decMarkup = 0M; if (decimal.TryParse(this.txtSubagentMarkup.Text.Trim(), out decMarkup)) { decimal decsub = decimal.Parse(lblSubtotal.Text); if (decsub * 0.2M < decMarkup) { Page.ClientScript.RegisterStartupScript(this.GetType(), "Warting", "<script language=javascript>alert('Max markup should be less than $" + (decsub * 0.2M).ToString("N2") + "');</script>"); return; } } } bool isSelectRoom = false; for (int roomIndex = 0; roomIndex < dlHotel.Items.Count; roomIndex++) { DataList dlRooms = (DataList)dlHotel.Items[roomIndex].FindControl("dlRoom"); for (int indexroomscount = 0; indexroomscount < dlRooms.Items.Count; indexroomscount++) { RadioButton rb = (RadioButton)dlRooms.Items[indexroomscount].FindControl("rabRoomType"); if (rb.Enabled && rb.Checked) { isSelectRoom = true; } } } if (!isSelectRoom) { Page.ClientScript.RegisterStartupScript(this.GetType(), "Warting", "<script language=javascript>alert('Please select the room');</script>"); return; } if (Utility.Transaction.CurrentSearchConditions is Terms.Sales.Business.PackageSearchCondition) { PackageMerchandise m_SaleMerchandise = (PackageMerchandise)this.OnSearch(); for (int k = 0; k < ((List<TERMS.Business.Centers.SalesCenter.Hotel>)m_SaleMerchandise.DefaultMerchandise[HotelListIndex + 1]).Count; k++) { MVHotel mvHotel = (MVHotel)((List<TERMS.Business.Centers.SalesCenter.Hotel>)m_SaleMerchandise.DefaultMerchandise[HotelListIndex + 1])[k]; for (int roomIndex = 0; roomIndex < mvHotel.Items.Count; roomIndex++) { MVRoom mvRoom = (MVRoom)mvHotel.Items[roomIndex]; DataList dlRooms = (DataList)dlHotel.Items[roomIndex].FindControl("dlRoom"); for (int indexroomscount = 0; indexroomscount < dlRooms.Items.Count; indexroomscount++) { RadioButton rb = (RadioButton)dlRooms.Items[indexroomscount].FindControl("rabRoomType"); if (rb.Checked) { Label lbltemp = (Label)dlRooms.Items[indexroomscount].FindControl("lblCode"); Label lblRoomId = (Label)dlRooms.Items[indexroomscount].FindControl("lblRoomID"); for (int iRomms = 0; iRomms < mvRoom.Items.Count; iRomms++) { mvRoom.Items[iRomms].Selected = false; if (lblRoomId.Text.Trim().Length > 0) { if (mvRoom.Items[iRomms].Room.Code == lbltemp.Text.Trim()) { if (mvRoom.Items[iRomms].Profile.GetParam("CATEGORYID") != null && mvRoom.Items[iRomms].Profile.GetParam("CATEGORYID").ToString().Trim() == lblRoomId.Text.Trim()) { mvRoom.Items[iRomms].Selected = true; mvRoom.SetDefaultRoomType(iRomms); } } } else { if (mvRoom.Items[iRomms].Room.Code == lbltemp.Text.Trim()) { mvRoom.Items[iRomms].Selected = true; mvRoom.SetDefaultRoomType(iRomms); } } } } } } } this.Response.Redirect("~/Page/UVPackage/PackageSearchResult2dForm.aspx"); } else { if (Utility.DeleteHotel.Count > 0) { for (int i = Utility.Transaction.CurrentTransactionObject.Items.Count - 1; i >= 0; i--) { HotelOrderItem hotelOrderItem = (HotelOrderItem)Utility.Transaction.CurrentTransactionObject.Items[i]; if ((hotelOrderItem.CheckIn == Convert.ToDateTime(Utility.DeleteHotel[1])) && (hotelOrderItem.Room.Hotel.Name.Trim() == Utility.DeleteHotel[0].Trim())) Utility.Transaction.CurrentTransactionObject.Items.Remove(hotelOrderItem); } } HotelMerchandise m_SaleMerchandise = (HotelMerchandise)this.OnSearch(); MVHotel currentHotel = null; //���ҵ�ǰ�ĵ�Hotel for (int i = 0; i < m_SaleMerchandise.Items.Count; i++) { MVHotel hotel = (MVHotel)m_SaleMerchandise.Items[i]; if (!string.IsNullOrEmpty(hotelid)) //����HotelID���ҵ�ǰ�ĵ�Hotel { if (hotel.HotelInformation.HotelCode.ToString().Trim() == hotelid.Trim()) { if (hotel.HotelInformation.City.GTACode.ToString().Trim() == GTACITYCODE.Trim()) { currentHotel = hotel; break; } //break; } } else if (!string.IsNullOrEmpty(hotelName) && !string.IsNullOrEmpty(strCheckin)) //����HotelName��CheckIn���ҵ�ǰ�ĵ�Hotel { if ((hotel.HotelInformation.Name.Trim() == hotelName.Trim()) && (hotel.Profile.CheckInDate == Convert.ToDateTime(strCheckin))) { currentHotel = hotel; break; } } } if (currentHotel != null) { hotelid = currentHotel.HotelId.ToString(); for (int roomIndex = 0; roomIndex < currentHotel.Items.Count; roomIndex++) { MVRoom mvRoom = (MVRoom)currentHotel.Items[roomIndex]; DataList dlRooms = (DataList)dlHotel.Items[roomIndex].FindControl("dlRoom"); for (int indexroomscount = 0; indexroomscount < dlRooms.Items.Count; indexroomscount++) { RadioButton rb = (RadioButton)dlRooms.Items[indexroomscount].FindControl("rabRoomType"); if (rb.Checked) { Label lbltemp = (Label)dlRooms.Items[indexroomscount].FindControl("lblCode"); Label lblRoomId = (Label)dlRooms.Items[indexroomscount].FindControl("lblRoomID"); for (int iRomms = 0; iRomms < mvRoom.Items.Count; iRomms++) if (mvRoom.Items[iRomms].Room.Code == lbltemp.Text.Trim()) { if (lblRoomId.Text.Trim().Length > 0) { if (mvRoom.Items[iRomms].Room.Code == lbltemp.Text.Trim()) { if (mvRoom.Items[iRomms].Profile.GetParam("CATEGORYID") != null && mvRoom.Items[iRomms].Profile.GetParam("CATEGORYID").ToString().Trim() == lblRoomId.Text.Trim()) { mvRoom.Items[iRomms].Selected = true; mvRoom.SetDefaultRoomType(iRomms); HotelOrderItem hotelOrderItem = new HotelOrderItem(mvRoom.Items[iRomms], mvRoom.Profile); if (mvRoom.Items[iRomms].Profile.GetParam("GTAORDERPOLICY") != null) { OrderPolicyCollection orderPolicyCollection = (OrderPolicyCollection)mvRoom.Items[iRomms].Profile.GetParam("GTAORDERPOLICY"); hotelOrderItem.OrderPolicy = orderPolicyCollection; } Utility.Transaction.CurrentTransactionObject.Items.Add(hotelOrderItem); } } } else { if (mvRoom.Items[iRomms].Room.Code == lbltemp.Text.Trim()) { mvRoom.Items[iRomms].Selected = true; mvRoom.SetDefaultRoomType(iRomms); HotelOrderItem hotelOrderItem = new HotelOrderItem(mvRoom.Items[iRomms], mvRoom.Profile); if (mvRoom.Items[iRomms].Profile.GetParam("GTAORDERPOLICY") != null) { OrderPolicyCollection orderPolicyCollection = (OrderPolicyCollection)mvRoom.Items[iRomms].Profile.GetParam("GTAORDERPOLICY"); hotelOrderItem.OrderPolicy = orderPolicyCollection; } Utility.Transaction.CurrentTransactionObject.Items.Add(hotelOrderItem); } } } } } } } } if (Utility.IsSubAgent && this.txtSubagentMarkup.Text.Trim().Length > 0) { decimal decMarkup = 0M; if (decimal.TryParse(this.txtSubagentMarkup.Text.Trim(), out decMarkup)) { if (decMarkup > 0) { Utility.Transaction.CurrentTransactionObject.SubagentMarkup.SetAmount(TERMS.Common.PassengerType.Adult, new TERMS.Common.FareAmount(decMarkup)); } } } this.Response.Redirect("~/Page/Hotel2/TravelForm.aspx" + "?ConditionID=" + Request.Params["ConditionID"]); }
private void SearchToBinder() { //if (Utility.SelectAirGroup == null) //{ // ComponentGroup group = new ComponentGroup(); // AirComponentGroup airGroup = (AirComponentGroup)((ComponentGroup)PackageMerchandise.ComponentGroup.Items[1].Component).Items[ParentIndex].Component; // ComponentGroupItem componentGroupItem = new ComponentGroupItem(airGroup.Items[SonIndex].Component); // AirComponentGroup lastGroup = new AirComponentGroup((AirProfile)airGroup.Profile); // lastGroup = (AirComponentGroup)airGroup.Clone(); // lastGroup.Items.Add(componentGroupItem); // group.Profile = PackageMerchandise.ComponentGroup.Profile; // group.Items.Clear(); // group.Items.Add(new ComponentGroupItem(lastGroup)); // Utility.SelectAirGroup = group; // if (Utility.Transaction.CurrentTransactionObject.Items.Count == 0) // { // SaleMerchandise saleMerchandise = new SaleMerchandise(); // saleMerchandise.ComponentGroup = group; // Utility.Transaction.CurrentTransactionObject.AddItem(saleMerchandise); // } // else // { // Utility.Transaction.CurrentTransactionObject.Items[0].Merchandise.ComponentGroup = group; // } //} if (pgMerchandise != null && pgMerchandise.Items.Count > 0) { //int index = m_SaleMerchandise.DefaultMerchandise.Length - 1; PackageOrderItem packageOrderItem = new PackageOrderItem(new PackageProfile("PackageProfile")); int hotelIndex = Convert.ToInt32(((List<int>)pgMerchandise.DefaultIndex[1 + pgMerchandise.CurrentHotelListNumber])[0]); List<PackageMaterial> MVHotelList = pgMerchandise.GetPackageMaterials(1 + pgMerchandise.CurrentHotelListNumber); packageOrderItem.RoomPrice = ((PackageMaterial)MVHotelList[hotelIndex]).RoomPrice; packageOrderItem.Nights = ((PackageMaterial)MVHotelList[hotelIndex]).Nights; packageOrderItem.RoomPricePerNight = ((PackageMaterial)MVHotelList[hotelIndex]).RoomPricePerNight; packageOrderItem.AirPrice = ((PackageMaterial)MVHotelList[hotelIndex]).AirPrice; packageOrderItem.TotalPrice = ((PackageMaterial)MVHotelList[hotelIndex]).TotalPrice; AirOrderItem airOrderItem = new AirOrderItem((AirMaterial)pgMerchandise.DefaultMerchandise[0]); packageOrderItem.Add(airOrderItem); for (int i = 1; i < pgMerchandise.Items.Count; i++) { for (int k = 0; k < ((List<Hotel>)pgMerchandise.DefaultMerchandise[i]).Count; k++) { MVHotel mvHotel = (MVHotel)((List<Hotel>)pgMerchandise.DefaultMerchandise[i])[k]; for (int roomIndex = 0; roomIndex < mvHotel.Items.Count; roomIndex++) { MVRoom mvRoom = (MVRoom)mvHotel.Items[roomIndex]; //mvRoom.DefaultRoomType.Room.Hotel.SetAddress(new TERMS.Common.Address(mvRoom.DefaultRoomType.Room.Hotel.City, mvRoom.DefaultRoomType.Room.Hotel.Address, mvHotel.GetAddress().ZipCode)); HotelOrderItem hotelOrderItem = new HotelOrderItem(mvRoom.DefaultRoomType, mvRoom.Profile); packageOrderItem.Add(hotelOrderItem); } } if (Utility.Transaction.CurrentTransactionObject != null) Utility.Transaction.CurrentTransactionObject.Items.Clear(); Utility.Transaction.CurrentTransactionObject.Items.Add(packageOrderItem); } } this.DefaultFlightDetails1.FlightDetails = AirMaterialList; this.FlightHeader1.ReBind(); this.ShowPackageHotels1.pgMerchandise = pgMerchandise; this.ShowPackageHotels1.BindHotels(); //如果Hotel的checkin checkout 的差大于5天 edit by tll SetChooseDisable(); }
private void SearchToBinder() { if (packageMerchandise != null && packageMerchandise.Items.Count > 0) { //int index = m_SaleMerchandise.DefaultMerchandise.Length - 1; PackageOrderItem packageOrderItem = new PackageOrderItem(new PackageProfile("PackageProfile")); int hotelIndex = Convert.ToInt32(((List<int>)packageMerchandise.DefaultIndex[1 + packageMerchandise.CurrentHotelListNumber])[0]); List<PackageMaterial> MVHotelList = packageMerchandise.GetPackageMaterials(1 + packageMerchandise.CurrentHotelListNumber); packageOrderItem.RoomPrice = ((PackageMaterial)MVHotelList[hotelIndex]).RoomPrice; packageOrderItem.Nights = ((PackageMaterial)MVHotelList[hotelIndex]).Nights; packageOrderItem.RoomPricePerNight = ((PackageMaterial)MVHotelList[hotelIndex]).RoomPricePerNight; packageOrderItem.AirPrice = ((PackageMaterial)MVHotelList[hotelIndex]).AirPrice; packageOrderItem.TotalPrice = ((PackageMaterial)MVHotelList[hotelIndex]).TotalPrice; AirOrderItem airOrderItem = new AirOrderItem((AirMaterial)packageMerchandise.DefaultMerchandise[0]); packageOrderItem.Add(airOrderItem); for (int i = 1; i < packageMerchandise.Items.Count; i++) { for (int k = 0; k < ((List<Hotel>)packageMerchandise.DefaultMerchandise[i]).Count; k++) { MVHotel mvHotel = (MVHotel)((List<Hotel>)packageMerchandise.DefaultMerchandise[i])[k]; for (int roomIndex = 0; roomIndex < mvHotel.Items.Count; roomIndex++) { MVRoom mvRoom = (MVRoom)mvHotel.Items[roomIndex]; //mvRoom.DefaultRoomType.Room.Hotel.SetAddress(new TERMS.Common.Address(mvRoom.DefaultRoomType.Room.Hotel.City, mvRoom.DefaultRoomType.Room.Hotel.Address, mvHotel.GetAddress().ZipCode)); HotelOrderItem hotelOrderItem = new HotelOrderItem(mvRoom.DefaultRoomType, mvRoom.Profile); packageOrderItem.Add(hotelOrderItem); } } if (Utility.Transaction.CurrentTransactionObject != null) Utility.Transaction.CurrentTransactionObject.Items.Clear(); Utility.Transaction.CurrentTransactionObject.Items.Add(packageOrderItem); } } //this.DefaultFlightDetails1.FlightDetails = AirMaterialList; //this.FlightHeader1.ReBind(); //this.PKGPackageDetailsControl1.pgMerchandise = packageMerchandise; //this.PKGPackageDetailsControl1.BindHotels(); ////���Hotel��checkin checkout �IJ����5�� edit by tll //SetChooseDisable(); }
protected void ibtnSearch_Click(object sender, ImageClickEventArgs e) { string hotelid = this.Request["HotelID"]; string hotelName = this.Request["HotelName"]; string strCheckin = this.Request["CheckIn"]; if (Utility.Transaction.CurrentSearchConditions is Terms.Sales.Business.PackageSearchCondition) { PackageMerchandise m_SaleMerchandise = (PackageMerchandise)this.OnSearch(); //int index = m_SaleMerchandise.DefaultMerchandise.Length - 1; //PackageOrderItem packageOrderItem = null; //if (Utility.Transaction.CurrentTransactionObject.Items == null &&Utility.Transaction.CurrentTransactionObject.Items.Count >0) // packageOrderItem =(PackageOrderItem) Utility.Transaction.CurrentTransactionObject.Items[0]; //else // packageOrderItem = new PackageOrderItem(new PackageProfile("PackageProfile")); //int hotelIndex = Convert.ToInt32(((List<int>)PgMerchandise.DefaultIndex[1 + HotelListIndex])[0]); //List<PackageMaterial> MVHotelList = PgMerchandise.GetPackageMaterials(1 + HotelListIndex); //packageOrderItem.RoomPrice = ((PackageMaterial)MVHotelList[hotelIndex]).RoomPrice; //packageOrderItem.Nights = ((PackageMaterial)MVHotelList[hotelIndex]).Nights; //packageOrderItem.RoomPricePerNight = ((PackageMaterial)MVHotelList[hotelIndex]).RoomPricePerNight; //packageOrderItem.AirPrice = ((PackageMaterial)MVHotelList[hotelIndex]).AirPrice; //packageOrderItem.TotalPrice = ((PackageMaterial)MVHotelList[hotelIndex]).TotalPrice; //AirOrderItem airOrderItem = new AirOrderItem((AirMaterial)m_SaleMerchandise.DefaultMerchandise[0]); //if (packageOrderItem.Items.Count == 0) // packageOrderItem.Add(airOrderItem); //else // packageOrderItem.Items[0] = airOrderItem; //for (int i = 0; i < index; i++) //{ for (int k = 0; k < ((List<TERMS.Business.Centers.SalesCenter.Hotel>)m_SaleMerchandise.DefaultMerchandise[HotelListIndex + 1]).Count; k++) { MVHotel mvHotel = (MVHotel)((List<TERMS.Business.Centers.SalesCenter.Hotel>)m_SaleMerchandise.DefaultMerchandise[HotelListIndex + 1])[k]; for (int roomIndex = 0; roomIndex < mvHotel.Items.Count; roomIndex++) { MVRoom mvRoom = (MVRoom)mvHotel.Items[roomIndex]; DataList dlRooms = (DataList)dlHotel.Items[roomIndex].FindControl("dlRoom"); for (int indexroomscount = 0; indexroomscount < dlRooms.Items.Count; indexroomscount++) { RadioButton rb = (RadioButton)dlRooms.Items[indexroomscount].FindControl("rabRoomType"); if (rb.Checked) { Label lbltemp = (Label)dlRooms.Items[indexroomscount].FindControl("lblCode"); mvRoom.IsBuyBreakfast = false; for (int iRomms = 0; iRomms < mvRoom.Items.Count; iRomms++) { CheckBox chIsbuy = (CheckBox)dlRooms.Items[indexroomscount].FindControl("IsBuy"); if (chIsbuy.Visible) { if (chIsbuy.Checked) { mvRoom.IsBuyBreakfast = true; } } mvRoom.Items[iRomms].Selected = false; if (mvRoom.Items[iRomms].Room.Code == lbltemp.Text.Trim()) { mvRoom.Items[iRomms].Selected = true; mvRoom.SetDefaultRoomType(iRomms); //HotelOrderItem hotelOrderItem = new HotelOrderItem(mvRoom.Items[iRomms], mvRoom.Profile); //packageOrderItem.Add(hotelOrderItem); } } } } } } //Utility.Transaction.CurrentTransactionObject.Items.Clear(); //Utility.Transaction.CurrentTransactionObject.Items.Add(packageOrderItem); //} this.Response.Redirect("~/Page/Package/PackageSearchResult2dForm.aspx" + "?ConditionID=" + Request.Params["ConditionID"]); } else { if (Utility.DeleteHotel.Count > 0) { for (int i = Utility.Transaction.CurrentTransactionObject.Items.Count - 1; i >= 0; i--) { HotelOrderItem hotelOrderItem = (HotelOrderItem)Utility.Transaction.CurrentTransactionObject.Items[i]; if ((hotelOrderItem.CheckIn == Convert.ToDateTime(Utility.DeleteHotel[1])) && (hotelOrderItem.Room.Hotel.Name.Trim() == Utility.DeleteHotel[0].Trim())) Utility.Transaction.CurrentTransactionObject.Items.Remove(hotelOrderItem); } } HotelMerchandise m_SaleMerchandise = (HotelMerchandise)this.OnSearch(); MVHotel currentHotel = null; //查找当前修改的Hotel for (int i = 0; i < m_SaleMerchandise.Items.Count; i++) { MVHotel hotel = (MVHotel)m_SaleMerchandise.Items[i]; if (!string.IsNullOrEmpty(hotelid)) //根据HotelID查找当前修改的Hotel { if (hotel.HotelInformation.HotelCode.ToString().Trim() == hotelid.Trim()) { currentHotel = hotel; break; } } else if (!string.IsNullOrEmpty(hotelName) && !string.IsNullOrEmpty(strCheckin)) //根据HotelName和CheckIn查找当前修改的Hotel { if ((hotel.HotelInformation.Name.Trim() == hotelName.Trim()) && (hotel.Profile.CheckInDate == Convert.ToDateTime(strCheckin))) { currentHotel = hotel; break; } } } if (currentHotel != null) { hotelid = currentHotel.HotelId.ToString(); for (int roomIndex = 0; roomIndex < currentHotel.Items.Count; roomIndex++) { MVRoom mvRoom = (MVRoom)currentHotel.Items[roomIndex]; DataList dlRooms = (DataList)dlHotel.Items[roomIndex].FindControl("dlRoom"); for (int indexroomscount = 0; indexroomscount < dlRooms.Items.Count; indexroomscount++) { RadioButton rb = (RadioButton)dlRooms.Items[indexroomscount].FindControl("rabRoomType"); if (rb.Checked) { CheckBox chIsbuy = (CheckBox)dlRooms.Items[indexroomscount].FindControl("IsBuy"); mvRoom.IsBuyBreakfast = false; if (chIsbuy.Visible) { if (chIsbuy.Checked) { mvRoom.IsBuyBreakfast = true; } } Label lbltemp = (Label)dlRooms.Items[indexroomscount].FindControl("lblCode"); for (int iRomms = 0; iRomms < mvRoom.Items.Count; iRomms++) { if (mvRoom.Items[iRomms].Room.Code == lbltemp.Text.Trim()) { mvRoom.Items[iRomms].Selected = true; mvRoom.SetDefaultRoomType(iRomms); HotelOrderItem hotelOrderItem = new HotelOrderItem(mvRoom.Items[iRomms], mvRoom.Profile); hotelOrderItem.Aduit = mvRoom.Aduit; hotelOrderItem.Child = mvRoom.Child; if (mvRoom.IsBuyBreakfast) { hotelOrderItem.SearchPassengersNumber = ((Terms.Sales.Business.HotelSearchCondition)Utility.Transaction.CurrentSearchConditions).RoomSearchConditions[roomIndex].AdultNumber + ((Terms.Sales.Business.HotelSearchCondition)Utility.Transaction.CurrentSearchConditions).RoomSearchConditions[roomIndex].ChildNumber; } hotelOrderItem.IsBuyBreakfast = mvRoom.IsBuyBreakfast; Utility.Transaction.CurrentTransactionObject.Items.Add(hotelOrderItem); } } } } } } } this.Response.Redirect("~/Page/Hotel/HotelViewForm.aspx?HotelID=" + hotelid + "&ConditionID=" + Request.Params["ConditionID"]); }