Пример #1
0
 /// <summary>
 /// 发布特价政策
 /// </summary>
 /// <param name="Policy"></param>
 /// <param name="operatorAccount"></param>
 public bool RegisterSpecialOfferPolicy(BargainPolicyReleaseInfo Bargain)
 {
     try
     {
         Bargain.BasicInfo.Creator = this.CurrentUser.UserName;
         Bargain.BasicInfo.Owner   = this.CurrentUser.Owner;
         return(PolicyManageService.ReleaseBargainPolicies(Bargain, this.CurrentUser.UserName));
     }
     catch (System.Data.Common.DbException ex)
     {
         Service.LogService.SaveExceptionLog(ex);
         throw new Exception("添加信息发生未知错误,请稍后再试");
     }
 }
Пример #2
0
        private bool GetNormalValue(string type)
        {
            VoyageType voyage = VoyageType.OneWay;
            LimitType  DerpartrueFilghtType = LimitType.None;

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

            LimitType RetrurnFilghtType = LimitType.None;

            if (radReturnYiXia.Checked)
            {
                RetrurnFilghtType = LimitType.Include;
            }
            if (radReturnBuXian.Checked)
            {
                RetrurnFilghtType = LimitType.None;
            }
            if (radReturnBuYiXia.Checked)
            {
                RetrurnFilghtType = LimitType.Exclude;
            }
            string RetrurnFilght = txtReturnFilght.Text;

            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);
            }

            try
            {
                if (type == "Update")
                {
                    var bargains = PolicyManageService.GetBargainPolicy(Guid.Parse(Request.QueryString["Id"]));
                    var bargain  = new BargainPolicy
                    {
                        OfficeCode    = dropOffice.SelectedItem == null ? "" : hidOfficeNo.Value,
                        ImpowerOffice = dropOffice.SelectedItem == null ? false : Convert.ToBoolean(dropOffice.SelectedValue),
                        IsInternal    = neibuTh.Visible,
                        IsPeer        = tong.Visible,
                        CustomCode    = ddlCustomCode.Visible ? ddlCustomCode.SelectedValue.Trim() : lblCustomerCode.Text,
                        Airline       = lblAirline.Text,
                        Transit       = "",
                        //DepartureDatesFilter = "",
                        //DepartureDatesFilterType = DateMode.Date,
                        Arrival                    = txtArrivalAirports.AirportsCode.Join("/"),
                        AutoAudit                  = chkAuto.Checked,
                        ChangePNR                  = chkChangePNR.Checked,
                        Departure                  = txtDepartureAirports.AirportsCode.Join("/"),
                        DepartureDateEnd           = DateTime.Parse(txtDepartrueEnd.Text),
                        DepartureWeekFilter        = weekStr,
                        DepartureDateFilter        = txtPaiChu.Text,
                        DepartureDateStart         = DateTime.Parse(txtDepartrueStart.Text),
                        DepartureFlightsFilter     = DerpartrueFilghtType == LimitType.None ? "" : txtDepartrueFilght.Text,
                        DepartureFlightsFilterType = DerpartrueFilghtType,
                        ReturnFlightsFilterType    = RetrurnFilghtType,
                        ReturnFlightsFilter        = RetrurnFilghtType == LimitType.None ? "" : RetrurnFilght,
                        Remark                = txtRemark.Text.Replace("\r", "").Replace("\n", ""),
                        ExceptAirways         = txtOutWithFilght.Text,
                        DrawerCondition       = txtDrawerCondition.Text.Replace("\r", "").Replace("\n", ""),
                        StartPrintDate        = DateTime.Parse(txtProvideDate.Text),
                        SubordinateCommission = decimal.Parse(txtSubordinateCommission.Text) / 100,
                        ProfessionCommission  = tong.Visible ? decimal.Parse(txtProfessionCommission.Text) / 100 : -1M,
                        InternalCommission    = neibuTh.Visible ? decimal.Parse(txtInternalCommission.Text) / 100 : -1M,
                        ChangeRegulation      = selChangeRegulation.Text,
                        EndorseRegulation     = selEndorseRegulation.Text,
                        RefundRegulation      = selRefundRegulation.Text,
                        InvalidRegulation     = selInvalidRegulation.Text,
                        TicketType            = chkTicket.Text == "B2B" ? TicketType.B2B : TicketType.BSP,
                        Berths                = hidBunks.Value,
                        //Price = discount.Visible ? (
                        //    selPrice.SelectedIndex == 0
                        //        ? decimal.Parse(txtPrice.Text == "" ? "-1" : txtPrice.Text)
                        //        : decimal.Parse(txtDiscount.Text == "" ? "-1" : txtDiscount.Text) / 100) : -1,
                        PriceType          = discount.Visible && selPrice.Visible ? (PriceType)(int.Parse(selPrice.Value)) : PriceType.Price,
                        BeforehandDays     = txtTiQianDays.Text == "" ? (short)0 : short.Parse(txtTiQianDays.Text),
                        MostBeforehandDays = txtMostTiQianDays.Text == "" ? (short)-1 : short.Parse(txtMostTiQianDays.Text),
                        Creator            = this.CurrentUser.UserName,
                        CreateTime         = bargains.CreateTime,
                        Suspended          = bargains.Suspended,
                        AuditTime          = bargains.AuditTime,
                        Audited            = bargains.Audited,
                        Freezed            = bargains.Freezed,
                        Owner               = bargains.Owner,
                        MultiSuitReduce     = chkddlc.Checked,
                        PrintBeforeTwoHours = chkPrintBeforeTwoHours.Checked,
                        Id = Guid.Parse(Request.QueryString["Id"])
                    };
                    if (titlePolicy.InnerText.Trim() == "单程")
                    {
                        bargain.Departure  = txtDepartureAirports.AirportsCode.Join("/");
                        bargain.Arrival    = txtArrivalAirports.AirportsCode.Join("/");
                        bargain.VoyageType = VoyageType.OneWay;
                        bargain.TravelDays = 0;
                        bargain.Price      = selPrice.SelectedIndex == 0 ? decimal.Parse(txtPrice.Text == "" ? "-1" : txtPrice.Text) : (selPrice.SelectedIndex == 1 ? decimal.Parse(txtDiscount.Text == "" ? "-100" : txtDiscount.Text) / 100 : -1);
                    }
                    else if (titlePolicy.InnerText.Trim() == "往返")
                    {
                        if (hidShifa.Value == "" || hidShifa.Value == "2")
                        {
                            bargain.Departure = txtShifaAirports.Code;
                            bargain.Arrival   = txtZhongzhuanAirports.AirportsCode.Join("/");
                        }
                        else
                        {
                            bargain.Departure = txtZhongzhuanAirports.AirportsCode.Join("/");
                            bargain.Arrival   = txtShifaAirports.Code;
                        }
                        bargain.VoyageType = VoyageType.RoundTrip;
                        bargain.TravelDays = short.Parse(txtChuxing.Text == "" ? "0" : txtChuxing.Text);
                        bargain.Price      = selPrice.SelectedIndex == 0 ? decimal.Parse(txtPrice.Text == "" ? "-1" : txtPrice.Text) : -1;
                    }
                    else if (titlePolicy.InnerText.Trim() == "中转联程")
                    {
                        bargain.Departure  = txtDepartureAirports.AirportsCode.Join("/");
                        bargain.Transit    = txtArrivalAirports.AirportsCode.Join("/");
                        bargain.Arrival    = txtZhongzhuanAirports.AirportsCode.Join("/");
                        bargain.VoyageType = VoyageType.TransitWay;
                        bargain.TravelDays = 0;
                        bargain.Price      = -1;
                        bargain.PriceType  = PriceType.Commission;
                    }
                    if (bargain.Departure.Trim() == "")
                    {
                        RegisterScript("alert('出发地不能为空,请选择至少一个城市作为出发地!');");
                        return(false);
                    }
                    if (bargain.VoyageType == VoyageType.TransitWay && bargain.Transit.Trim() == "")
                    {
                        RegisterScript("alert('中转地不能为空,请选择至少一个城市作为出发地!');");
                        return(false);
                    }
                    if (bargain.Arrival.Trim() == "")
                    {
                        RegisterScript("alert('到达地不能为空,请选择至少一个城市作为出发地!');");
                        return(false);
                    }
                    PolicyManageService.UpdateBargainPolicy(bargain, this.CurrentUser.UserName);
                }
                if (type == "Copy")
                {
                    var bargainInfo = new BargainPolicyReleaseInfo
                    {
                        BasicInfo = new BargainPolicyBasicInfo
                        {
                            OfficeCode    = dropOffice.SelectedItem == null ? "" : hidOfficeNo.Value,
                            ImpowerOffice = dropOffice.SelectedItem == null ? false : Convert.ToBoolean(dropOffice.SelectedValue),
                            IsInternal    = neibuTh.Visible,
                            IsPeer        = tong.Visible,
                            CustomCode    = ddlCustomCode.Visible ? ddlCustomCode.SelectedValue.Trim() : lblCustomerCode.Text,
                            Airline       = ddlAirline.SelectedValue,
                            Arrival       = txtArrivalAirports.AirportsCode.Join("/"),
                            Departure     = txtDepartureAirports.AirportsCode.Join("/"),
                            //DepartureDatesFilter = "",
                            Transit = "",
                            //DepartureDatesFilterType = DateMode.Date,
                            DepartureFlightsFilter     = DerpartrueFilghtType == LimitType.None ? "" : txtDepartrueFilght.Text,
                            DepartureFlightsFilterType = DerpartrueFilghtType,
                            ReturnFlightsFilter        = RetrurnFilghtType == LimitType.None ? "" : RetrurnFilght,
                            ReturnFlightsFilterType    = RetrurnFilghtType,
                            Remark            = txtRemark.Text.Replace("\r", "").Replace("\n", ""),
                            ExceptAirways     = txtOutWithFilght.Text,
                            DrawerCondition   = txtDrawerCondition.Text.Replace("\r", "").Replace("\n", ""),
                            ChangeRegulation  = selChangeRegulation.Text,
                            EndorseRegulation = selEndorseRegulation.Text,
                            RefundRegulation  = selRefundRegulation.Text,
                            InvalidRegulation = selInvalidRegulation.Text,
                            VoyageType        = voyage,
                            Owner             = this.CurrentUser.Owner
                        }
                    };
                    if (titlePolicy.InnerText.Trim() == "单程")
                    {
                        bargainInfo.BasicInfo.Departure  = txtDepartureAirports.AirportsCode.Join("/");
                        bargainInfo.BasicInfo.Arrival    = txtArrivalAirports.AirportsCode.Join("/");
                        bargainInfo.BasicInfo.VoyageType = VoyageType.OneWay;
                    }
                    else if (titlePolicy.InnerText.Trim() == "往返")
                    {
                        if (hidShifa.Value == "" || hidShifa.Value == "2")
                        {
                            bargainInfo.BasicInfo.Departure = txtShifaAirports.Code;
                            bargainInfo.BasicInfo.Arrival   = txtZhongzhuanAirports.AirportsCode.Join("/");
                        }
                        else
                        {
                            bargainInfo.BasicInfo.Departure = txtZhongzhuanAirports.AirportsCode.Join("/");
                            bargainInfo.BasicInfo.Arrival   = txtShifaAirports.Code;
                        }
                        bargainInfo.BasicInfo.VoyageType = VoyageType.RoundTrip;
                    }
                    else if (titlePolicy.InnerText.Trim() == "中转联程")
                    {
                        bargainInfo.BasicInfo.Departure  = txtDepartureAirports.AirportsCode.Join("/");
                        bargainInfo.BasicInfo.Transit    = txtArrivalAirports.AirportsCode.Join("/");
                        bargainInfo.BasicInfo.Arrival    = txtZhongzhuanAirports.AirportsCode.Join("/");
                        bargainInfo.BasicInfo.VoyageType = VoyageType.TransitWay;
                    }
                    var list = new List <BargainPolicyRebateInfo>
                    {
                        new BargainPolicyRebateInfo
                        {
                            BeforehandDays        = txtTiQianDays.Text == "" ? (short)0 : short.Parse(txtTiQianDays.Text),
                            TravelDays            = txtChuxing.Text == "" ? (short)0 : short.Parse(txtChuxing.Text),
                            AutoAudit             = chkAuto.Checked,
                            ChangePNR             = chkChangePNR.Checked,
                            DepartureDateEnd      = DateTime.Parse(txtDepartrueEnd.Text),
                            DepartureDateStart    = DateTime.Parse(txtDepartrueStart.Text),
                            StartPrintDate        = DateTime.Parse(txtProvideDate.Text),
                            SubordinateCommission = decimal.Parse(txtSubordinateCommission.Text),
                            ProfessionCommission  = tong.Visible ?  decimal.Parse(txtProfessionCommission.Text):-1M,
                            InternalCommission    = neibuTh.Visible ? decimal.Parse(txtInternalCommission.Text): -1M,
                            TicketType            = chkTicket.Text == "B2B" ? TicketType.B2B : TicketType.BSP,
                            Berths = hidBunks.Value,
                            DepartureDateFilter = txtPaiChu.Text,
                            DepartureWeekFilter = weekStr,
                            MultiSuitReduce     = chkddlc.Checked,
                            PrintBeforeTwoHours = chkPrintBeforeTwoHours.Checked,
                            MostBeforehandDays  = txtMostTiQianDays.Text == "" ? (short)-1 : short.Parse(txtMostTiQianDays.Text),
                            PriceType           = discount.Visible && selPrice.Visible ? (PriceType)(int.Parse(selPrice.Value)) : PriceType.Price,
                            Price = discount.Visible ? (selPrice.SelectedIndex == 0 ? decimal.Parse(txtPrice.Text == "" ? "-1" : txtPrice.Text) : (selPrice.SelectedIndex == 1 ? decimal.Parse(txtDiscount.Text == "" ? "-100" : txtDiscount.Text): -1)) : -1
                        }
                    };
                    bargainInfo.Rebates = list;
                    if (titlePolicy.InnerText.Trim() == "中转联程")
                    {
                        bargainInfo.Rebates[0].TravelDays = 0;
                        bargainInfo.Rebates[0].Price      = -1;
                        bargainInfo.Rebates[0].PriceType  = PriceType.Commission;
                    }
                    if (bargainInfo.BasicInfo.Departure.Trim() == "")
                    {
                        RegisterScript("alert('出发地不能为空,请选择至少一个城市作为出发地!');");
                        return(false);
                    }
                    if (bargainInfo.BasicInfo.VoyageType == VoyageType.TransitWay && bargainInfo.BasicInfo.Transit.Trim() == "")
                    {
                        RegisterScript("alert('中转地不能为空,请选择至少一个城市作为出发地!');");
                        return(false);
                    }
                    if (bargainInfo.BasicInfo.Arrival.Trim() == "")
                    {
                        RegisterScript("alert('到达地不能为空,请选择至少一个城市作为出发地!');");
                        return(false);
                    }
                    PolicyManageService.ReleaseBargainPolicies(bargainInfo, this.CurrentUser.UserName);
                }
                if (Request.QueryString["Check"] == "view")
                {
                    RegisterScript(
                        type == "Update"
                            ? "alert('修改成功');window.location.href='./low_price_policy_view.aspx'"
                            : "alert('复制成功');window.location.href='./low_price_policy_view.aspx'", true);
                }

                else
                {
                    RegisterScript(
                        type == "Update"
                            ? "alert('修改成功');window.location.href='./low_price_policy_manage.aspx'"
                            : "alert('复制成功');window.location.href='./low_price_policy_manage.aspx'", true);
                }
            }
            catch (Exception ex)
            {
                ShowExceptionMessage(ex, type == "Update" ? "修改特价政策" : "复制特价政策");
            }
            return(true);
        }