Exemplo n.º 1
0
        private void GetNormalValue(string type)
        {
            if (hidBunks.Value == "")
            {
                ShowMessage("舱位不能为空!");
                return;
            }
            VoyageType voyage = VoyageType.RoundTrip;

            LimitType DerpartrueFilghtType = LimitType.None;

            if (radYiXia.Checked)
            {
                DerpartrueFilghtType = LimitType.Include;
            }
            if (radBuXian.Checked)
            {
                DerpartrueFilghtType = LimitType.None;
            }
            if (radBuYiXia.Checked)
            {
                DerpartrueFilghtType = LimitType.Exclude;
            }

            LimitType returnFilghtType = LimitType.None;

            if (radReturnYiXia.Checked)
            {
                returnFilghtType = LimitType.Include;
            }
            if (radReturnBuXian.Checked)
            {
                returnFilghtType = LimitType.None;
            }
            if (radReturnBuYiXia.Checked)
            {
                returnFilghtType = LimitType.Exclude;
            }
            string weekStr = "";

            if (mon.Checked)
            {
                weekStr += "1,";
            }
            if (tue.Checked)
            {
                weekStr += "2,";
            }
            if (wed.Checked)
            {
                weekStr += "3,";
            }
            if (thur.Checked)
            {
                weekStr += "4,";
            }
            if (fri.Checked)
            {
                weekStr += "5,";
            }
            if (sat.Checked)
            {
                weekStr += "6,";
            }
            if (sun.Checked)
            {
                weekStr += "7,";
            }
            if (weekStr != "")
            {
                weekStr = weekStr.Substring(0, weekStr.Length - 1);
            }

            RoundTripPolicy roundTrips = PolicyManageService.GetRoundTripPolicy(Guid.Parse(Request.QueryString["Id"]));

            try
            {
                if (type == "Update")
                {
                    var roundTrip = new RoundTripPolicy
                    {
                        Airline                    = lblAirline.Text,
                        Arrival                    = txtArrivalAirports.AirportsCode.Join("/"),
                        Departure                  = txtDepartureAirports.AirportsCode.Join("/"),
                        AutoAudit                  = chkAuto.Checked,
                        ChangePNR                  = chkChangePNR.Checked,
                        DepartureDateEnd           = DateTime.Parse(txtDepartrueEnd.Text),
                        DepartureDatesFilter       = "",
                        DepartureWeekFilter        = weekStr,
                        DepartureDateFilter        = txtPaiChu.Text,
                        DepartureDateStart         = DateTime.Parse(txtDepartrueStart.Text),
                        DepartureDatesFilterType   = DateMode.Date,
                        DepartureFlightsFilter     = txtDepartrueFilght.Text,
                        DepartureFlightsFilterType = DerpartrueFilghtType,
                        ReturnDateStart            = DateTime.Parse(txtReturnStart.Text),
                        ReturnDateEnd              = DateTime.Parse(txtReturnEnd.Text),
                        DrawerCondition            = txtDrawerCondition.Text,
                        Remark                  = txtRemark.Text,
                        ReturnDatesFilter       = "",
                        ReturnFlightsFilter     = txtReturnFilght.Text,
                        ReturnFlightsFilterType = returnFilghtType,
                        StartPrintDate          = DateTime.Parse(txtProvideDate.Text),
                        SubordinateCommission   = decimal.Parse(txtSubordinateCommission.Text) / 100,
                        ProfessionCommission    = decimal.Parse(txtProfessionCommission.Text) / 100,
                        InternalCommission      = decimal.Parse(txtInternalCommission.Text) / 100,
                        TravelDays              = 0,
                        TicketType              = chkTicket.Text == "B2B" ? TicketType.B2B : TicketType.BSP,
                        Berths                  = hidBunks.Value,
                        VoyageType              = voyage,
                        ReturnDatesFilterType   = DateMode.Date,
                        OfficeCode              = dropOffice.SelectedItem.Text,
                        BeforehandDays          = short.Parse(txtTiQianDays.Text),
                        ChangeRegulation        = selChangeRegulation.Text,
                        EndorseRegulation       = selEndorseRegulation.Text,
                        InvalidRegulation       = selInvalidRegulation.Text,
                        RefundRegulation        = selRefundRegulation.Text,
                        Price      = decimal.Parse(txtPrice.Text),
                        Audited    = roundTrips.Audited,
                        AuditTime  = roundTrips.AuditTime,
                        CreateTime = roundTrips.CreateTime,
                        Creator    = roundTrips.Creator,
                        Freezed    = roundTrips.Freezed,
                        Owner      = roundTrips.Owner,
                        Suspended  = roundTrips.Suspended,
                        Id         = Guid.Parse(Request.QueryString["Id"])
                    };
                    PolicyManageService.UpdateRoundTripPolicy(roundTrip, this.CurrentUser.UserName);
                }
                if (type == "Copy")
                {
                    var roundTripInfo = new RoundTripPolicyReleaseInfo
                    {
                        BasicInfo = new RoundTripPolicyBasicInfo
                        {
                            Airline                    = ddlAirline.SelectedValue,
                            Arrival                    = txtArrivalAirports.AirportsCode.Join("/"),
                            Departure                  = txtDepartureAirports.AirportsCode.Join("/"),
                            DepartureDatesFilter       = "",
                            DepartureDatesFilterType   = DateMode.Date,
                            DepartureFlightsFilter     = txtDepartrueFilght.Text,
                            DepartureFlightsFilterType = DerpartrueFilghtType,
                            Remark                  = txtRemark.Text,
                            DrawerCondition         = txtDrawerCondition.Text,
                            ReturnDatesFilter       = "",
                            ReturnFlightsFilter     = txtReturnFilght.Text,
                            ReturnFlightsFilterType = returnFilghtType,
                            TravelDays              = 0,
                            VoyageType              = voyage,
                            ReturnDatesFilterType   = DateMode.Date,
                            OfficeCode              = dropOffice.SelectedItem.Text,
                            Owner             = this.CurrentUser.Owner,
                            BeforehandDays    = short.Parse(txtTiQianDays.Text),
                            ChangeRegulation  = selChangeRegulation.Text,
                            EndorseRegulation = selEndorseRegulation.Text,
                            InvalidRegulation = selInvalidRegulation.Text,
                            RefundRegulation  = selRefundRegulation.Text
                        }
                    };
                    var list = new List <RoundTripPolicyRebateInfo>
                    {
                        new RoundTripPolicyRebateInfo
                        {
                            DepartureWeekFilter   = weekStr,
                            DepartureDateFilter   = txtPaiChu.Text,
                            AutoAudit             = chkAuto.Checked,
                            ChangePNR             = chkChangePNR.Checked,
                            DepartureDateEnd      = DateTime.Parse(txtDepartrueEnd.Text),
                            DepartureDateStart    = DateTime.Parse(txtDepartrueStart.Text),
                            ReturnDateStart       = DateTime.Parse(txtReturnStart.Text),
                            ReturnDateEnd         = DateTime.Parse(txtReturnEnd.Text),
                            StartPrintDate        = DateTime.Parse(txtProvideDate.Text),
                            SubordinateCommission = decimal.Parse(txtSubordinateCommission.Text) / 100,
                            ProfessionCommission  = decimal.Parse(txtProfessionCommission.Text) / 100,
                            InternalCommission    = decimal.Parse(txtInternalCommission.Text) / 100,
                            TicketType            = chkTicket.Text == "B2B" ? TicketType.B2B : TicketType.BSP,
                            Berths = hidBunks.Value,
                            Price  = decimal.Parse(txtPrice.Text)
                        }
                    };
                    roundTripInfo.Rebates = list;
                    PolicyManageService.ReleaseRoundTripPolicies(roundTripInfo, this.CurrentUser.UserName);
                }
                if (Request.QueryString["Check"] == "view")
                {
                    RegisterScript(
                        type == "Update"
                            ? "alert('修改成功');window.location.href='./back_to_policy_view.aspx'"
                            : "alert('复制成功');window.location.href='./back_to_policy_view.aspx'", true);
                }
                else
                {
                    RegisterScript(
                        type == "Update"
                            ? "alert('修改成功');window.location.href='./back_to_policy_manage.aspx'"
                            : "alert('复制成功');window.location.href='./back_to_policy_manage.aspx'", true);
                }
            }
            catch (FormatException)
            {
                ShowMessage("输入字符格式不正确,请重新输入");
            }
            catch (Exception ex)
            {
                ShowExceptionMessage(ex, type == "Update" ? "修改往返政策" : "复制往返政策");
            }
        }