Пример #1
0
        private bool GetTeamValue(string type)
        {
            VoyageType voyage = VoyageType.OneWay;

            if (titlePolicy.InnerText == "单程")
            {
                voyage = VoyageType.OneWay;
            }
            else if (titlePolicy.InnerText == "往返")
            {
                voyage = VoyageType.RoundTrip;
            }
            else if (titlePolicy.InnerText == "单程·往返")
            {
                voyage = VoyageType.OneWayOrRound;
            }
            else if (titlePolicy.InnerText == "中转联程")
            {
                voyage = VoyageType.TransitWay;
            }
            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);
            }

            var teams = PolicyManageService.GetTeamPolicy(Guid.Parse(Request.QueryString["Id"]));

            try
            {
                if (type == "Update")
                {
                    var team = new TeamPolicy
                    {
                        Airline                    = lblAirline.Text,
                        Arrival                    = txtArrivalAirports.AirportsCode.ToList().Join("/"),
                        OfficeCode                 = hidOfficeNo.Value,
                        AutoAudit                  = chkAuto.Checked,
                        ChangePNR                  = chkChangePNR.Checked,
                        IsInternal                 = neibuTh.Visible,
                        IsPeer                     = tonghang.Visible,
                        CustomCode                 = ddlCustomCode.Visible ? ddlCustomCode.SelectedValue.Trim() : lblCustomerCode.Text,
                        Departure                  = txtDepartureAirports.AirportsCode.ToList().Join("/"),
                        Transit                    = "",
                        DepartureDateEnd           = DateTime.Parse(txtDepartrueEnd.Text),
                        DepartureDateStart         = DateTime.Parse(txtDepartrueStart.Text),
                        DepartureFlightsFilter     = derpartrueFilghtType == LimitType.None ? "" : txtDepartrueFilght.Text,
                        DepartureFlightsFilterType = derpartrueFilghtType,
                        Remark                     = txtRemark.Text.Replace("\r", "").Replace("\n", ""),
                        DrawerCondition            = txtDrawerCondition.Text.Replace("\r", "").Replace("\n", ""),
                        ReturnFlightsFilter        = returnFilghtType == LimitType.None ? "" : txtReturnFilght.Text,
                        ReturnFlightsFilterType    = returnFilghtType,
                        SuitReduce                 = chkRound.Checked,
                        MultiSuitReduce            = chkddlc.Checked,
                        StartPrintDate             = DateTime.Parse(txtProvideDate.Text),
                        DepartureDateFilter        = txtPaiChu.Text,
                        DepartureWeekFilter        = weekStr,
                        SubordinateCommission      = decimal.Parse(txtSubordinateCommission.Text) / 100,
                        ProfessionCommission       = tonghang.Visible ? decimal.Parse(txtProfessionCommission.Text) / 100 : -1M,
                        InternalCommission         = neibuTh.Visible ? decimal.Parse(txtInternalCommission.Text) / 100 : -1M,
                        ExceptAirways              = txtExceptAirways.Text,
                        TicketType                 = chkTicket.Text == "B2B" ? TicketType.B2B : TicketType.BSP,
                        Berths                     = hidBunks.Value,
                        VoyageType                 = voyage,
                        ImpowerOffice              = Convert.ToBoolean(dropOffice.SelectedValue),
                        Audited                    = teams.Audited,
                        AuditTime                  = teams.AuditTime,
                        AutoPrint                  = teams.AutoPrint,
                        CreateTime                 = teams.CreateTime,
                        Creator                    = teams.Creator,
                        Freezed                    = teams.Freezed,
                        Owner               = teams.Owner,
                        Suspended           = teams.Suspended,
                        Id                  = Guid.Parse(Request.QueryString["Id"]),
                        AppointBerths       = zhiding.Checked,
                        PrintBeforeTwoHours = chkPrintBeforeTwoHours.Checked
                    };
                    if (zhongzhuanTh.Visible)
                    {
                        team.Arrival = txtZhongzhuanAirports.AirportsCode.Join("/");
                        team.Transit = txtArrivalAirports.AirportsCode.Join("/");
                    }
                    if (team.Departure.Trim() == "")
                    {
                        RegisterScript("alert('出发地不能为空,请选择至少一个城市作为出发地!');");
                        return(false);
                    }
                    if (team.VoyageType == VoyageType.TransitWay && team.Transit.Trim() == "")
                    {
                        RegisterScript("alert('中转地不能为空,请选择至少一个城市作为出发地!');");
                        return(false);
                    }
                    if (team.Arrival.Trim() == "")
                    {
                        RegisterScript("alert('到达地不能为空,请选择至少一个城市作为出发地!');");
                        return(false);
                    }
                    PolicyManageService.UpdateTeamPolicy(team, this.CurrentUser.UserName);
                }
                if (type == "Copy")
                {
                    var teamInfo = new TeamPolicyReleaseInfo
                    {
                        BasicInfo = new TeamPolicyBasicInfo
                        {
                            CustomCode                 = ddlCustomCode.Visible ? ddlCustomCode.SelectedValue.Trim() : lblCustomerCode.Text,
                            IsInternal                 = neibuTh.Visible,
                            IsPeer                     = tonghang.Visible,
                            Airline                    = ddlAirline.SelectedValue,
                            Arrival                    = txtArrivalAirports.AirportsCode.ToList().Join("/"),
                            Transit                    = "",
                            Departure                  = txtDepartureAirports.AirportsCode.ToList().Join("/"),
                            DepartureFlightsFilter     = derpartrueFilghtType == LimitType.None ? "" : txtDepartrueFilght.Text,
                            DepartureFlightsFilterType = derpartrueFilghtType,
                            Remark                     = txtRemark.Text.Replace("\r", "").Replace("\n", ""),
                            DrawerCondition            = txtDrawerCondition.Text.Replace("\r", "").Replace("\n", ""),
                            ReturnFlightsFilter        = returnFilghtType == LimitType.None ? "" : txtReturnFilght.Text,
                            ReturnFlightsFilterType    = returnFilghtType,
                            ExceptAirways              = txtExceptAirways.Text,
                            VoyageType                 = voyage,
                            OfficeCode                 = hidOfficeNo.Value,
                            ImpowerOffice              = Convert.ToBoolean(dropOffice.SelectedValue),
                            Owner = this.CurrentUser.Owner
                        }
                    }; if (zhongzhuanTh.Visible)
                    {
                        teamInfo.BasicInfo.Arrival = txtZhongzhuanAirports.AirportsCode.Join("/");
                        teamInfo.BasicInfo.Transit = txtArrivalAirports.AirportsCode.Join("/");
                    }
                    var list = new List <TeamPolicyRebateInfo>
                    {
                        new TeamPolicyRebateInfo
                        {
                            DepartureDateFilter   = txtPaiChu.Text,
                            DepartureWeekFilter   = weekStr,
                            AutoAudit             = chkAuto.Checked,
                            ChangePNR             = chkChangePNR.Checked,
                            DepartureDateEnd      = DateTime.Parse(txtDepartrueEnd.Text),
                            DepartureDateStart    = DateTime.Parse(txtDepartrueStart.Text),
                            SuitReduce            = chkRound.Checked,
                            StartPrintDate        = DateTime.Parse(txtProvideDate.Text),
                            SubordinateCommission = decimal.Parse(txtSubordinateCommission.Text),
                            ProfessionCommission  = tonghang.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,
                            MultiSuitReduce     = chkddlc.Checked,
                            AppointBerths       = zhiding.Checked,
                            PrintBeforeTwoHours = chkPrintBeforeTwoHours.Checked
                        }
                    };
                    teamInfo.Rebates = list;
                    if (teamInfo.BasicInfo.Departure.Trim() == "")
                    {
                        RegisterScript("alert('出发地不能为空,请选择至少一个城市作为出发地!');");
                        return(false);
                    }
                    if (teamInfo.BasicInfo.VoyageType == VoyageType.TransitWay && teamInfo.BasicInfo.Transit.Trim() == "")
                    {
                        RegisterScript("alert('中转地不能为空,请选择至少一个城市作为出发地!');");
                        return(false);
                    }
                    if (teamInfo.BasicInfo.Arrival.Trim() == "")
                    {
                        RegisterScript("alert('到达地不能为空,请选择至少一个城市作为出发地!');");
                        return(false);
                    }
                    PolicyManageService.ReleaseTeamPolicies(teamInfo, this.CurrentUser.UserName);
                }
                if (Request.QueryString["Check"] == "view")
                {
                    RegisterScript(
                        type == "Update"
                            ? "alert('修改成功');window.location.href='./team_policy_view.aspx'"
                            : "alert('复制成功');window.location.href='./team_policy_view.aspx'", true);
                }
                else
                {
                    RegisterScript(
                        type == "Update"
                            ? "alert('修改成功');window.location.href='./team_policy_manage.aspx'"
                            : "alert('复制成功');window.location.href='./team_policy_manage.aspx'", true);
                }
            }
            catch (Exception ex)
            {
                ShowExceptionMessage(ex, type == "Update" ? "修改团队政策" : "复制团队政策");
            }
            return(true);
        }