protected void btnSave_Click(object sender, EventArgs e)
 {
     try
     {
         PolicyHarmonyInfo Harmony = GetVaule();
         if (Request.QueryString["id"] != null)
         {
             Harmony.Id = Guid.Parse(Request.QueryString["id"]);
         }
         if (Harmony != null)
         {
             try
             {
                 PolicyManageService.SetPolicyHarmony(Harmony);
                 if (Harmony.Id == Guid.Empty)
                 {
                     RegisterScript("alert('添加成功');window.location.href='./policy_coordination_manage.aspx'", true);
                 }
                 else
                 {
                     RegisterScript("alert('修改成功');window.location.href='./policy_coordination_manage.aspx'", true);
                 }
             }
             catch (Exception ex)
             {
                 ShowExceptionMessage(ex, "政策协调添加/修改");
             }
         }
     }
     catch (Exception ex)
     {
         ShowExceptionMessage(ex, "政策协调修改/添加");
     }
 }
        private PolicyHarmonyInfo GetVaule()
        {
            string airline = "";

            foreach (ListItem item in chkAirlineList.Items)
            {
                if (item.Selected)
                {
                    airline += item.Value + ",";
                }
            }
            if (airline == "")
            {
                ShowMessage("没有选择航空公司,请先选择!");
                return(null);
            }
            airline = airline.Substring(0, airline.Length - 1);
            try
            {
                hidTime.Value = hidTime.Value == "" ? DateTime.Now + "" : hidTime.Value;
                PolicyHarmonyInfo Harmony = new PolicyHarmonyInfo
                {
                    Account   = this.CurrentUser.UserName,
                    Airlines  = airline,
                    Arrival   = txtArrivalAirports.AirportsCode.Join("/"),
                    Departure = txtDepartureAirports.AirportsCode.Join("/"),
                    //CityLimit = "",
                    DeductionType      = radSubCommission.Checked ? Common.Enums.DeductionType.Subordinate : Common.Enums.DeductionType.Profession,
                    EffectiveLowerDate = DateTime.Parse(txtTimeStart.Text),
                    EffectiveUpperDate = DateTime.Parse(txtTimeEnd.Text),
                    HarmonyValue       = decimal.Parse(txtXieTiao.Text) / 100,
                    // IsVIP = false,
                    LastModifyTime = DateTime.Now,
                    LastModifyName = this.CurrentUser.UserName,
                    CreateTime     = DateTime.Parse(hidTime.Value),
                    Remark         = txtRemark.Text
                };
                if (chkPolicyBargin.Checked)
                {
                    Harmony.PolicyType |= Common.Enums.PolicyType.Bargain;
                }
                if (chkPolicyNormal.Checked)
                {
                    Harmony.PolicyType |= Common.Enums.PolicyType.Normal;
                }
                return(Harmony);
            }
            catch (Exception ex)
            {
                ShowExceptionMessage(ex, "政策协调修改/添加");
            }
            return(null);
        }
        private void InitValue()
        {
            if (Request.QueryString["id"] != null)
            {
                PolicyHarmonyInfo hoarmony = PolicyManageService.GetPolicyHarmonyInfo(Guid.Parse(Request.QueryString["id"]));
                if (hoarmony != null)
                {
                    //选择曾经的航空公司
                    foreach (ListItem item in chkAirlineList.Items)
                    {
                        foreach (string str in hoarmony.Airlines.Split(','))
                        {
                            if (item.Value == str)
                            {
                                item.Selected = true;
                                break;
                            }
                        }
                    }
                    //始发地
                    txtDepartureAirports.AirportsCode = hoarmony.Departure.Split('/');
                    //目的地
                    txtArrivalAirports.AirportsCode = hoarmony.Arrival.Split('/');

                    chkPolicyBargin.Checked = (hoarmony.PolicyType & Common.Enums.PolicyType.Bargain) == Common.Enums.PolicyType.Bargain;
                    chkPolicyNormal.Checked = (hoarmony.PolicyType & Common.Enums.PolicyType.Normal) == Common.Enums.PolicyType.Normal;

                    radSubCommission.Checked = (hoarmony.DeductionType == Common.Enums.DeductionType.Subordinate);
                    radIntCommission.Checked = (hoarmony.DeductionType == Common.Enums.DeductionType.Profession);

                    txtTimeStart.Text = hoarmony.EffectiveLowerDate.Date.ToString("yyyy-MM-dd");
                    txtTimeEnd.Text   = hoarmony.EffectiveUpperDate.Date.ToString("yyyy-MM-dd");
                    txtXieTiao.Text   = (hoarmony.HarmonyValue * 100).TrimInvaidZero();
                    txtRemark.Text    = hoarmony.Remark;
                    hidTime.Value     = hoarmony.CreateTime.ToString();
                }
            }
        }
        public IEnumerable <PolicyHarmonyInfo> QueryPolicyHarmonyInfos(Pagination pagination, PolicyHarmonyQueryParameter condition)
        {
            IList <PolicyHarmonyInfo> result = new List <PolicyHarmonyInfo>();

            using (var dbOperator = new DbOperator(Provider, ConnectionString))
            {
                if (!string.IsNullOrEmpty(condition.Departure))
                {
                    dbOperator.AddParameter("@iDeparture", condition.Departure);
                }
                if (!string.IsNullOrEmpty(condition.Arrival))
                {
                    dbOperator.AddParameter("@iArrival", condition.Arrival);
                }
                if (!string.IsNullOrEmpty(condition.Airline))
                {
                    dbOperator.AddParameter("@iAirline", condition.Airline);
                }
                if (condition.PolicyType.HasValue)
                {
                    dbOperator.AddParameter("@iPolicyType", condition.PolicyType.Value);
                }
                if (condition.EffectTimeStart.HasValue)
                {
                    dbOperator.AddParameter("@iEffectiveLowerDate", condition.EffectTimeStart.Value);
                }
                if (condition.EffectTimeEnd.HasValue)
                {
                    dbOperator.AddParameter("@iEffectiveUpperDate", condition.EffectTimeEnd.Value);
                }
                dbOperator.AddParameter("@iPageIndex", pagination.PageIndex);
                dbOperator.AddParameter("@iPageSize", pagination.PageSize);
                System.Data.Common.DbParameter totalCount = dbOperator.AddParameter("@oTotalCount");
                totalCount.DbType    = System.Data.DbType.Int32;
                totalCount.Direction = System.Data.ParameterDirection.Output;
                using (var reader = dbOperator.ExecuteReader("[dbo].[P_QueryPolicyHarmonys]", System.Data.CommandType.StoredProcedure))
                {
                    while (reader.Read())
                    {
                        var info = new PolicyHarmonyInfo();
                        info.Id                 = reader.GetGuid(0);
                        info.Airlines           = reader.GetString(1);
                        info.Departure          = reader.GetString(2);
                        info.Arrival            = reader.GetString(3);
                        info.PolicyType         = (Common.Enums.PolicyType)reader.GetInt32(4);
                        info.EffectiveLowerDate = reader.GetDateTime(5);
                        info.EffectiveUpperDate = reader.GetDateTime(6);
                        info.DeductionType      = (Common.Enums.DeductionType)reader.GetInt32(7);
                        info.HarmonyValue       = reader.GetDecimal(8);
                        info.Remark             = reader.GetString(9);
                        info.Account            = reader.GetString(10);
                        info.CreateTime         = reader.GetDateTime(11);
                        info.LastModifyTime     = reader.GetDateTime(12);
                        info.LastModifyName     = reader.GetString(13);
                        result.Add(info);
                    }
                }
                if (pagination.GetRowCount)
                {
                    pagination.RowCount = (int)totalCount.Value;
                }
            }
            return(result);
        }