public int Insert(Domain.PolicyHarmony harmony)
        {
            string sql = "INSERT INTO [dbo].[T_PolicyHarmony]([Id],[Airlines],[Departure],[Arrival],[PolicyType],[CityLimit],[EffectiveLowerDate],[EffectiveUpperDate],[IsVIP],[DeductionType],[HarmonyValue],[Remark],[Account],[AddTime]) " +
                         "VALUES (@Id,@Airlines,@Departure,@Arrival,@PolicyType,@CityLimit,@EffectiveLowerDate,@EffectiveUpperDate,@IsVIP,@DeductionType,@HarmonyValue,@Remark,@Account,@AddTime)";

            using (var dbOperator = new DbOperator(Provider, ConnectionString)) {
                dbOperator.AddParameter("Id", harmony.Id);
                dbOperator.AddParameter("Airlines", harmony.Airlines.Join("/"));
                dbOperator.AddParameter("Departure", harmony.Departure.Join("/"));
                dbOperator.AddParameter("Arrival", harmony.Arrival.Join("/"));
                dbOperator.AddParameter("PolicyType", (int)harmony.PolicyType);
                dbOperator.AddParameter("CityLimit", harmony.CityLimit.Join("/"));
                dbOperator.AddParameter("EffectiveLowerDate", harmony.EffectiveDateRange.Lower);
                dbOperator.AddParameter("EffectiveUpperDate", harmony.EffectiveDateRange.Upper);
                dbOperator.AddParameter("Isvip", harmony.IsVIP);
                dbOperator.AddParameter("DeductionType", (int)harmony.DeductionType);
                dbOperator.AddParameter("HarmonyValue", harmony.HarmonyValue);
                if (string.IsNullOrWhiteSpace(harmony.Remark))
                {
                    dbOperator.AddParameter("Remark", DBNull.Value);
                }
                else
                {
                    dbOperator.AddParameter("Remark", harmony.Remark);
                }
                dbOperator.AddParameter("Account", harmony.Account);
                dbOperator.AddParameter("AddTime", harmony.AddTime);
                return(dbOperator.ExecuteNonQuery(sql));
            }
        }
        public int Update(Domain.PolicyHarmony harmony)
        {
            string sql = "UPDATE [dbo].[T_PolicyHarmony] SET [Airlines]=@Airlines,[Departure]=@Departure,[Arrival]=@Arrival,[PolicyType]=@PolicyType,[CityLimit]=@CityLimit," +
                         "[EffectiveLowerDate]=@EffectiveLowerDate,[EffectiveUpperDate]=@EffectiveUpperDate," +
                         "[IsVIP]=@IsVIP,[DeductionType]=@DeductionType,[HarmonyValue]=@HarmonyValue,[Remark]=@Remark,[Account]=@Account,[AddTime]=@AddTime WHERE [Id]=@Id";

            using (var dbOperator = new DbOperator(Provider, ConnectionString)) {
                dbOperator.AddParameter("Id", harmony.Id);
                dbOperator.AddParameter("Airlines", harmony.Airlines.Join("/"));
                dbOperator.AddParameter("Departure", harmony.Departure.Join("/"));
                dbOperator.AddParameter("Arrival", harmony.Arrival.Join("/"));
                dbOperator.AddParameter("PolicyType", (int)harmony.PolicyType);
                dbOperator.AddParameter("CityLimit", harmony.CityLimit.Join("/"));
                dbOperator.AddParameter("EffectiveLowerDate", harmony.EffectiveDateRange.Lower);
                dbOperator.AddParameter("EffectiveUpperDate", harmony.EffectiveDateRange.Upper);
                dbOperator.AddParameter("IsVIP", harmony.IsVIP);
                dbOperator.AddParameter("DeductionType", (int)harmony.DeductionType);
                dbOperator.AddParameter("HarmonyValue", harmony.HarmonyValue);
                if (string.IsNullOrWhiteSpace(harmony.Remark))
                {
                    dbOperator.AddParameter("Remark", DBNull.Value);
                }
                else
                {
                    dbOperator.AddParameter("Remark", harmony.Remark);
                }
                dbOperator.AddParameter("Account", harmony.Account);
                dbOperator.AddParameter("AddTime", harmony.AddTime);
                return(dbOperator.ExecuteNonQuery(sql));
            }
        }