private decimal SetSubAgentPrice(InsuranceOrderItem insuranceMaterial)
    {
        decimal result = decimal.Zero;

        decimal decmarkup = insuranceMaterial.InsuranceMarkUp;

        if (decmarkup != decimal.Zero)
        {
            decimal total = insuranceMaterial.TotalPremiumAmount;

            result = total * 0.2M;
        }

        return result;
    }
    private decimal SetSubPrice(InsuranceOrderItem insuranceMaterial)
    {
        decimal result = decimal.Zero;

        if (insuranceMaterial.Items != null)
        {
            //for (int i = 0; i < insuranceMaterial.items.Count; i++)
            //{
            //    result += SetSubAgentPrice(insuranceMaterial);
            //}
        }
        else
        {
            result = SetSubAgentPrice(insuranceMaterial);
        }

        return result;
    }
    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;
            }
        }
    }
Exemplo n.º 4
0
    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 ibtnSubmit_Click(object sender, EventArgs e)
        {
            if (this.IsValid)
            {
                bool flag;
                Utility.Transaction.CurrentTransactionObject.Remark = this.txtRemark.Value;
                flag = this.PHContactInfoControl1.PaddingPassengerInfo();
                flag = this.HotelOrderPassengerInfoControl1.PaddingPassengerInfo();

                if (!flag)
                {
                    return;
                }

                if (this.chkInsurance.Checked && this.divInsurance.Visible == true)
                {
                    Terms.Sales.Business.InsuranceSearchCondition Condition = new Terms.Sales.Business.InsuranceSearchCondition();

                    Condition.InsuranceType = TERMS.Common.InsuranceType.Package;

                    List<DateTime> listDateBegin = new List<DateTime>();
                    List<DateTime> listDateEnd = new List<DateTime>();

                    ///����Air��ʱ�� ֱ�Ӽ�¼����Air��CheckIn��CheckOut����

                    if (Utility.Transaction.CurrentTransactionObject.Items[0] is PackageOrderItem)
                    {
                        for (int j = 0; j < ((AirOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0].Items[0]).Merchandise.AirTrip.SubTrips.Count; j++)
                        {
                            for (int x = 0; x < ((AirOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0].Items[0]).Merchandise.AirTrip.SubTrips[j].Flights.Count; x++)
                            {
                                listDateBegin.Add(((AirOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0].Items[0]).Merchandise.AirTrip.SubTrips[j].Flights[x].DepartureTime);
                                listDateEnd.Add(((AirOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0].Items[0]).Merchandise.AirTrip.SubTrips[j].Flights[x].ArriveTime);
                            }
                        }
                    }
                    //��ʱ���������
                    listDateBegin.Sort();
                    listDateEnd.Sort();

                    Condition.DepartureDate = listDateBegin[0];
                    Condition.ReturnDate = listDateEnd[listDateEnd.Count - 1];

                    List<PackageMaterial> MVHotelList = PgMerchandise.GetPackageMaterials(1);
                    Condition.TotalTripCost = ((PackageMaterial)MVHotelList[((List<int>)PgMerchandise.DefaultIndex[1])[0]]).TotalPrice;

                    Condition.TravelerCount = ((Terms.Sales.Business.PackageSearchCondition)Utility.Transaction.CurrentSearchConditions).AirSearchCondition.GetPassengerNumber(TERMS.Common.PassengerType.Adult) + ((Terms.Sales.Business.PackageSearchCondition)Utility.Transaction.CurrentSearchConditions).AirSearchCondition.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);

                    this.Response.Redirect("PackageTravelerInsurance.aspx" + "?ConditionID=" + Request.Params["ConditionID"]);
                }
                else
                {
                    //��¼����˿���Ϣ
                    //OperaterAdvice.DoAdvice(Terms.Configuration.Utility.ConfigurationConst.OperateType.EnterTravels, this);
                    this.Response.Redirect("CreditCardInformation.aspx" + "?ConditionID=" + Request.Params["ConditionID"]);
                }
            }
        }
Exemplo n.º 6
0
    private void AddInsurance()
    {
        Terms.Sales.Business.InsuranceSearchCondition Condition = new Terms.Sales.Business.InsuranceSearchCondition();

        Condition.InsuranceType = TERMS.Common.InsuranceType.Tour;

        if (SelectPriceType)
            Condition.DepartureDate = ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).BeginDate.AddDays(1);
        else
            Condition.DepartureDate = ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).BeginDate;

        Condition.ReturnDate = ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).EndDate;

        Condition.TotalTripCost = ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).TotalPrice;

        Condition.TravelerCount = PriceInfoControl1.AdultNumber + PriceInfoControl1.ChildNumber + PriceInfoControl1.ChildWithOutNumber;

        Condition.Adults = PriceInfoControl1.AdultNumber;

        Condition.Childs = PriceInfoControl1.ChildNumber + PriceInfoControl1.ChildWithOutNumber;

        InsuranceMaterial insuranceMaterial = this.OnSearchInsurance(Condition);

        ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).IsInsurance = true;

        InsuranceOrderItem insuranceOrderItem = new InsuranceOrderItem(insuranceMaterial, null);

        insuranceOrderItem.InsuranceType = TERMS.Common.InsuranceType.Tour;
        insuranceOrderItem.TotalTripCost = ((TourOrderItem)Utility.Transaction.CurrentTransactionObject.Items[0]).TotalPrice;

        insuranceOrderItem.InsuranceOrderName = insuranceMaterial.InsuranceName;
        insuranceOrderItem.InsuranceMarkUp = Convert.ToDecimal(insuranceMaterial.PolicyQuote.PolicyInformation.Premium.Markup);
        insuranceOrderItem.TotalPremiumAmount = Convert.ToDecimal(insuranceMaterial.PolicyQuote.PolicyInformation.Premium.TotalPremiumAmount);

        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);
    }
Exemplo n.º 7
0
    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;
        }
    }