/// <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("添加信息发生未知错误,请稍后再试"); } }
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); }