protected void btn_button_Click(object sender, EventArgs e) { BindSeason(); if (!CheckSelectRooms()) { Page.ClientScript.RegisterStartupScript(this.GetType(), "TourWarting", "<script language=javascript>alert('Please choose room number');</script>"); return; } if (IsDate(this.txtDate.Text)) { bool pricetype = true; if (rbtnPriceType.SelectedIndex == 1) pricetype = false; DateTime date = Convert.ToDateTime(this.txtDate.Text); ((TourSearchCondition)this.Transaction.CurrentSearchConditions).FlightDeptDate = date; TourProfile tourProfile = (TourProfile)((TourMaterial)SelectTourMaterial).Profile; TourOrderItem tourOrderItem = new TourOrderItem(tourProfile); AirMaterial am = null; for (int i = 0; i < ((TourMaterial)SelectTourMaterial).Items.Count; i++) { if (((TourMaterial)SelectTourMaterial).Items[i] is TourItinerary) tourOrderItem.Add(((TourMaterial)SelectTourMaterial).Items[i]); } tourOrderItem.Destination = ((Terms.Product.Business.MVTourProfile)((TourMaterial)SelectTourMaterial).Profile).StartCity; tourOrderItem.SetBeginDate(date); tourOrderItem.ChildNumber = 0;//GetPersonNumber(this.TourTravelerChangeControl1.Childs); tourOrderItem.AdultNumber = 0;// GetPersonNumber(this.TourTravelerChangeControl1.Adults); tourOrderItem.ChildWithOutNumber = 0;// GetPersonNumber(this.TourTravelerChangeControl1.ChildsWithOut); tourOrderItem.SetEndDate(date.AddDays(tourProfile.Days - 1)); Page.Session["IsSelectDate"] = true; this.Transaction.CurrentTransactionObject.Items.Clear(); this.Transaction.CurrentTransactionObject.AddItem(tourOrderItem); List<TourOrderFareType> FareTypeList = new List<TourOrderFareType>(); TourOrderFareType landType = new TourOrderFareType(); List<TourRoom> tourRooms = new List<TourRoom>();//this.TourTravelerChangeControl1.GetTourRooms(tourProfile, date); TourRoom tourRoom = null; decimal totalPrice = 0M; if (pricetype) for (int i = 0; i < dlTourRoomTypeList.Items.Count; i++) { DropDownList dllRooms = (DropDownList)dlTourRoomTypeList.Items[i].FindControl("dllRooms"); if (dllRooms != null && dllRooms.SelectedIndex > 0) { Label lblRoomType = (Label)dlTourRoomTypeList.Items[i].FindControl("lblRoomType"); for (int number = 0; number < Convert.ToInt32(dllRooms.SelectedValue); number++) { tourRoom = new TourRoom(); tourRoom.RoomType = lblRoomType.Text.ToString(); tourRoom.UnitPrice = (Decimal)tourProfile.GetPrice(date, tourRoom.RoomType, pricetype, false).GetAmount(TERMS.Common.PassengerType.Adult) + (Decimal)tourProfile.GetPrice(date, tourRoom.RoomType, pricetype, false).GetMarkup(TERMS.Common.PassengerType.Adult); tourRoom.RoomIndex = number + 1; tourRoom.Quantity = 0; landType.AddTourRoom(tourRoom); } } } else for (int i = 0; i < dlTourRoomTypeList1.Items.Count; i++) { DropDownList dllRooms = (DropDownList)dlTourRoomTypeList1.Items[i].FindControl("dllRooms"); if (dllRooms != null && dllRooms.SelectedIndex > 0) { Label lblRoomType = (Label)dlTourRoomTypeList1.Items[i].FindControl("lblRoomType"); for (int number = 0; number < Convert.ToInt32(dllRooms.SelectedValue); number++) { tourRoom = new TourRoom(); tourRoom.RoomType = lblRoomType.Text.ToString(); tourRoom.UnitPrice = (Decimal)tourProfile.GetPrice(date, tourRoom.RoomType, pricetype, false).GetAmount(TERMS.Common.PassengerType.Adult) + (Decimal)tourProfile.GetPrice(date, tourRoom.RoomType, pricetype, false).GetMarkup(TERMS.Common.PassengerType.Adult); tourRoom.RoomIndex = number + 1; tourRoom.Quantity = 0; landType.AddTourRoom(tourRoom); } } } landType.Type = TourFareType.LAND; FareTypeList.Add(landType); decimal diffFare = 0.0m; if (((TourSearchCondition)this.Transaction.CurrentSearchConditions).IsLandOnly) { } else { bool HasError = false; ((TourSearchCondition)this.Transaction.CurrentSearchConditions).DeptCity = ddlUsaCity.SelectedValue; if (TourProduct.AirGroup.Profile.SearchRules.Count > 0) { AirSearchRule airSearchRule = (AirSearchRule)TourProduct.AirGroup.Profile.SearchRules[0]; diffFare = m_airService.GetFareDiff(tourProfile.DefaultDepartureCity.Code, ddlUsaCity.SelectedValue, tourProfile.StartCity.Code, tourProfile.EndCity.Code, date, date.AddDays(tourProfile.Days), airSearchRule.Airlines[0].Code, airSearchRule.BookingClasses[0], out HasError); tourOrderItem.AirLine = airSearchRule.Airlines[0].Code; tourOrderItem.BookingClass = airSearchRule.BookingClasses[0]; if (HasError) { tourOrderItem.DepartureCity = tourProfile.DefaultDepartureCity.Code;//ȡ���ʧ�ܣ�����Ĭ�ϳ����� } else { tourOrderItem.DepartureCity = ddlUsaCity.SelectedValue; } } else { //todo } #region ��ƱaddOn ���ּ۸����ʹ��� if (diffFare > 0) { TourOrderFareType addOnType = new TourOrderFareType(); addOnType.Price = diffFare; addOnType.Quantity = tourOrderItem.AdultNumber + tourOrderItem.ChildNumber; addOnType.Type = TourFareType.ADDON; totalPrice += addOnType.Quantity * addOnType.Price; FareTypeList.Add(addOnType); } #endregion } tourOrderItem.TotalPrice = totalPrice; tourOrderItem.FareTypeList = FareTypeList; tourOrderItem.InsuranceMaterial = SetInsurance();//ȡ���գ� this.Response.Redirect("TourSelectAirForm.aspx?ReturnURL=" + ReturnURL + "&ConditionID=" + Request.Params["ConditionID"] + "&TourCode=" + SelectTourCode + "&PriceType=" + pricetype); } else { Page.ClientScript.RegisterStartupScript(this.GetType(), "TourWarting", "<script language=javascript>alert('Please choose departure date');</script>"); return; } }
public void DoContinueProcess() { if (PriceInfoControl1.ChkTourInsurance) { ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).IsInsurance = true; InsuranceOrderItem insuranceOrderItem = new InsuranceOrderItem(null); insuranceOrderItem.InsuranceOrderName = ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).InsuranceMaterial.InsuranceName; insuranceOrderItem.TotalPremiumAmount = Convert.ToDecimal(((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).InsuranceMaterial.PolicyQuote.PolicyInformation.Premium.TotalPremiumAmount * PriceInfoControl1.TotalPassengers); for (int i = 0; i < Utility.Transaction.CurrentTransactionObject.Items.Count; i++) { if (Utility.Transaction.CurrentTransactionObject.Items[i] is InsuranceOrderItem) Utility.Transaction.CurrentTransactionObject.Items.Remove(Utility.Transaction.CurrentTransactionObject.Items[i]); } Utility.Transaction.CurrentTransactionObject.AddItem(insuranceOrderItem); } else { ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).IsInsurance = false; } PriceInfoControl1.AddMarkup(); TourProfile tourProfile = (TourProfile)((TourMaterial)SelectTourMaterial).Profile; ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).AdultNumber = PriceInfoControl1.AdultNumber; ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).ChildNumber = PriceInfoControl1.ChildNumber; ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).ChildWithOutNumber = PriceInfoControl1.ChildWithOutNumber; #region ADD NEW List<TourOrderFareType> FareTypeList = new List<TourOrderFareType>(); #region Land ���ּ۸����ʹ��� TourOrderFareType landType = new TourOrderFareType(); DateTime date = ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).BeginDate; decimal totalPrice = 0.0m; List<TourRoom> tourRooms = this.PriceInfoControl1.GetTourRooms(tourProfile, date); for (int i = 0; i < tourRooms.Count; i++) { totalPrice += tourRooms[i].UnitPrice * tourRooms[i].Quantity; landType.AddTourRoom(tourRooms[i]); } landType.Price = totalPrice; landType.Quantity = 1; landType.Type = TourFareType.LAND; FareTypeList.Add(landType); #endregion decimal diffFare = 0.0m; if (((TourSearchCondition)this.Transaction.CurrentSearchConditions).IsLandOnly) { } else { #region ��ƱaddOn ���ּ۸����ʹ��� if (diffFare > 0) { TourOrderFareType addOnType = new TourOrderFareType(); addOnType.Price = diffFare; addOnType.Quantity = ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).AdultNumber + ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).ChildNumber; addOnType.Type = TourFareType.ADDON; totalPrice += addOnType.Quantity * addOnType.Price; FareTypeList.Add(addOnType); } #endregion } ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).TotalPrice = totalPrice; ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).FareTypeList = FareTypeList; #endregion if (this.chkConditions.Checked) { if (!PriceInfoControl1.ChkTourInsurance) { bool Flag = false; if (System.Configuration.ConfigurationManager.AppSettings["TourBookingInsurance"] != null) Flag = Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["TourBookingInsurance"]); if (Flag) { string citycode = ((Terms.Product.Business.MVTourProfile)((TourMaterial)SelectTourMaterial).Profile).StartCity.Code; if (TourCityIsRegion(citycode)) { AddInsurance(); } } } Response.Redirect("~/Page/Tour/TourTravelerInfoForm.aspx?ReturnURL=" + ReturnURL + "&ConditionID=" + Request.Params["ConditionID"] + "&TourCode=" + SelectTourCode); } else { //���� Page.ClientScript.RegisterStartupScript(this.GetType(), "Warting", "<script language=javascript>alert('Please read Terms & Conditions, And cancels elects');</script>"); Page.ClientScript.RegisterStartupScript(this.GetType(), "alt", "if(document.getElementById('clickLink')!= null){document.getElementById('clickLink').click();}", true); return; } }