protected void ibtnSubmit_Click(object sender, EventArgs e) { if (this.IsValid) { bool flag; Utility.Transaction.CurrentTransactionObject.Remark = this.txtRemark.Value; flag = OrderPassengerInfoControl1.PaddingPassengerInfo(); if (!flag) { return; } flag = ContactInfoControl1.PaddingPassengerInfo(); if (!flag) { return; } if (chkInsurance.Checked) { Terms.Sales.Business.InsuranceSearchCondition Condition = new Terms.Sales.Business.InsuranceSearchCondition(); Condition.InsuranceType = TERMS.Common.InsuranceType.AirOnly; List<DateTime> listDateBegin = new List<DateTime>(); List<DateTime> listDateEnd = new List<DateTime>(); ///当有Air的时候 直接记录各个Air的CheckIn和CheckOut日期 for (int i = 0; i < Utility.Transaction.CurrentTransactionObject.Items.Count; i++) { if (Utility.Transaction.CurrentTransactionObject.Items[i] is AirOrderItem) { for (int j = 0; j < ((AirOrderItem)Utility.Transaction.CurrentTransactionObject.Items[i]).Merchandise.AirTrip.SubTrips.Count; j++) { for (int x = 0; x < ((AirOrderItem)Utility.Transaction.CurrentTransactionObject.Items[i]).Merchandise.AirTrip.SubTrips[j].Flights.Count; x++) { listDateBegin.Add(((AirOrderItem)Utility.Transaction.CurrentTransactionObject.Items[i]).Merchandise.AirTrip.SubTrips[j].Flights[x].DepartureTime); listDateEnd.Add(((AirOrderItem)Utility.Transaction.CurrentTransactionObject.Items[i]).Merchandise.AirTrip.SubTrips[j].Flights[x].ArriveTime); } } } } //对时间进行排序 listDateBegin.Sort(); listDateEnd.Sort(); Condition.DepartureDate = listDateBegin[0]; Condition.ReturnDate = listDateEnd[listDateEnd.Count - 1]; Condition.TotalTripCost = GetTotalPice(); Condition.TravelerCount = ((Terms.Sales.Business.AirSearchCondition)Utility.Transaction.CurrentSearchConditions).GetPassengerNumber(TERMS.Common.PassengerType.Adult) + ((Terms.Sales.Business.AirSearchCondition)Utility.Transaction.CurrentSearchConditions).GetPassengerNumber(TERMS.Common.PassengerType.Child); InsuranceMaterial insuranceMaterial = this.OnSearchInsurance(Condition); InsuranceOrderItem insuranceOrderItem = new InsuranceOrderItem(null); insuranceOrderItem.InsuranceOrderName = insuranceMaterial.InsuranceName; insuranceOrderItem.TotalPremiumAmount = Convert.ToDecimal(insuranceMaterial.PolicyQuote.PolicyInformation.Premium.TotalPremiumAmount); Utility.Transaction.CurrentTransactionObject.AddItem(insuranceOrderItem); //记录输入顾客事件 OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.EnterTravels, this); this.Response.Redirect("~/Page/Hotel/HotelTravelerInsuranceForm.aspx?ConditionID=" + Request.Params["ConditionID"]); } else { //记录输入顾客事件 OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.EnterTravels, this); this.Response.Redirect(SecureUrlSuffix + "Page/Common/CreditCardInfoForm.aspx?ConditionID=" + Request.Params["ConditionID"]); } } }
protected void btnPricing_Click(object sender, EventArgs e) { lblError.Visible = false; if (CheckValidator()) { lblError.Text = _ErrorText; lblError.Visible = true; btnPruchase.Enabled = false; lblGTTReference.Text = string.Empty; lblSellingPrice.Text = string.Empty; return; } Terms.Sales.Business.InsuranceSearchCondition Condition = new Terms.Sales.Business.InsuranceSearchCondition(); Condition.InsuranceType = GetCheckInsuranceType(); Condition.DepartureDate = Convert.ToDateTime(txtTravelFrom.Text); Condition.ReturnDate = Convert.ToDateTime(txtTravelTo.Text); Condition.TotalTripCost = Convert.ToDecimal(txtTotalTripCost.Text); if (txtChilds.Text.Trim().Length == 0) { Condition.TravelerCount = Convert.ToInt32(txtAdult.Text); Condition.Adults = Convert.ToInt32(txtAdult.Text); Condition.Childs = 0; } else { Condition.TravelerCount = Convert.ToInt32(txtAdult.Text) + Convert.ToInt32(txtChilds.Text); Condition.Adults = Convert.ToInt32(txtAdult.Text); Condition.Childs = Convert.ToInt32(txtChilds.Text); } Session["InsuranceSearchCondition"] = Condition; InsuranceMaterial insuranceMaterial = this.OnSearchInsuranceByB2B(Condition); //SetSubPrice(insuranceMaterial); if (insuranceMaterial != null && insuranceMaterial.PolicyQuote.Status.IsSuccess) { if (cbtEmergency.Checked) { insuranceMaterial.PolicyQuote.PolicyInformation.Product.IncludeEmt = true; } InsuranceOrderItem insuranceOrderItem = new InsuranceOrderItem(insuranceMaterial, null); insuranceOrderItem.InsuranceType = Condition.InsuranceType; if (!string.IsNullOrEmpty(txtCaseNumber.Text.Trim())) { insuranceOrderItem.RelationCaseNumber = txtCaseNumber.Text.Trim(); } if (!string.IsNullOrEmpty(txtTicketNumber.Text.Trim())) { insuranceOrderItem.TicketNumber = txtTicketNumber.Text.Trim(); } insuranceOrderItem.TotalTripCost = Convert.ToDecimal(txtTotalTripCost.Text); DateTime TicketingDate = Convert.ToDateTime(txtTicketingDate.Text); insuranceOrderItem.TicketDate = TicketingDate; Utility.Transaction.IntKey = Condition.GetHashCode(); InsuranceIntKey = Condition.GetHashCode(); Utility.Transaction.CurrentSearchConditions = Condition; Utility.Transaction.CurrentTransactionObject = new TransactionObject(); Utility.Transaction.CurrentTransactionObject.AddItem(insuranceOrderItem); Session["InsuranceMaterial"] = insuranceMaterial; SetPriceShow((decimal)insuranceMaterial.PolicyQuote.PolicyInformation.Premium.TotalPremiumAmount, (decimal)insuranceMaterial.PolicyQuote.PolicyInformation.Premium.Markup, insuranceMaterial); btnPruchase.Enabled = true; } else { if (insuranceMaterial != null && !insuranceMaterial.PolicyQuote.Status.IsSuccess) { lblError.Text = insuranceMaterial.PolicyQuote.Status.ErrorDescription; lblError.Visible = true; } else { lblError.Text = "Unknown Error"; lblError.Visible = true; } } }
private void SetInsurance() { Terms.Sales.Business.InsuranceSearchCondition Condition = new Terms.Sales.Business.InsuranceSearchCondition(); Condition.InsuranceType = TERMS.Common.InsuranceType.AirOnly; List<DateTime> listDateBegin = new List<DateTime>(); List<DateTime> listDateEnd = new List<DateTime>(); ///当有Air的时候 直接记录各个Air的CheckIn和CheckOut日期 for (int i = 0; i < Utility.Transaction.CurrentTransactionObject.Items.Count; i++) { if (Utility.Transaction.CurrentTransactionObject.Items[i] is AirOrderItem) { for (int j = 0; j < ((AirOrderItem)Utility.Transaction.CurrentTransactionObject.Items[i]).Merchandise.AirTrip.SubTrips.Count; j++) { for (int x = 0; x < ((AirOrderItem)Utility.Transaction.CurrentTransactionObject.Items[i]).Merchandise.AirTrip.SubTrips[j].Flights.Count; x++) { listDateBegin.Add(((AirOrderItem)Utility.Transaction.CurrentTransactionObject.Items[i]).Merchandise.AirTrip.SubTrips[j].Flights[x].DepartureTime); listDateEnd.Add(((AirOrderItem)Utility.Transaction.CurrentTransactionObject.Items[i]).Merchandise.AirTrip.SubTrips[j].Flights[x].ArriveTime); } } } } //对时间进行排序 listDateBegin.Sort(); listDateEnd.Sort(); //记录最早日期与最晚日期 Condition.DepartureDate = listDateBegin[0]; Condition.ReturnDate = listDateEnd[listDateEnd.Count - 1]; Condition.TotalTripCost = GetTotalPice(); Condition.TravelerCount = ((Terms.Sales.Business.AirSearchCondition)Utility.Transaction.CurrentSearchConditions).GetPassengerNumber(TERMS.Common.PassengerType.Adult) + ((Terms.Sales.Business.AirSearchCondition)Utility.Transaction.CurrentSearchConditions).GetPassengerNumber(TERMS.Common.PassengerType.Child); try { InsuranceMaterial insuranceMaterial = this.OnSearchInsurance(Condition); lblInsuranceName.Text = "Insurance Name : " + insuranceMaterial.InsuranceName; lblInsuranceTotal.Text = "Insurance Total : $" + insuranceMaterial.PolicyQuote.PolicyInformation.Premium.TotalPremiumAmount.ToString("N0"); if (insuranceMaterial.InsuranceUrl.IndexOf(@"http://") > -1) { hlInsuranceDetails.NavigateUrl = insuranceMaterial.InsuranceUrl; } else { hlInsuranceDetails.NavigateUrl = @"http://" + insuranceMaterial.InsuranceUrl; } } catch { return; } }