/// <summary> /// 根据行程条件、行程类型及政策类型,获取相应的政策; /// </summary> /// <param name="airline">航空公司</param> /// <param name="voyages">行程条件</param> /// <param name="voyageType">行程类型</param> /// <param name="policyType">政策类型</param> /// <returns></returns> public IEnumerable <PolicyInfoBase> QueryPolicies(string airline, DataTable voyages, VoyageType voyageType, PolicyType policyType) { if (airline == null) { throw new ArgumentNullException("airline"); } if (voyages == null || voyages.Columns.Count == 0) { throw new ArgumentNullException("voyages"); } return(PolicyManageService.QueryPolicies(airline, voyages, voyageType, policyType)); }
private HashSet <PolicyInfoBase> LoadPolicies() { var data = new HashSet <PolicyInfoBase>(new PolicyComparer("Id")); data.AddRange(PolicyManageService.QueryPolicies <NormalPolicyInfo>(p => p.Audited && !p.Freezed && p.OwnerAudited && p.OwnerEnabled).ToList().Where(p => !p.Suspended && !p.OwnerIsExpired)); data.AddRange(PolicyManageService.QueryPolicies <BargainPolicyInfo>(p => p.Audited && !p.Freezed && p.OwnerAudited && p.OwnerEnabled).ToList().Where(p => !p.Suspended && !p.OwnerIsExpired)); data.AddRange(PolicyManageService.QueryPolicies <SpecialPolicyInfo>(p => p.Audited && p.PlatformAudited && !p.Freezed && p.OwnerAudited && p.OwnerEnabled).ToList().Where(p => !p.Suspended && !p.OwnerIsExpired)); // 2012-10-21 增加,团队政策; data.AddRange(PolicyManageService.QueryPolicies <TeamPolicyInfo>(p => p.Audited && !p.Freezed && p.OwnerAudited && p.OwnerEnabled).ToList().Where(p => !p.Suspended && !p.OwnerIsExpired)); // 2012-10-18 修改,修改第一行,去掉了资源张数的限制,在最后再去判断;去掉了第两行; //data.AddRange(PolicyManageService.QueryPolicies<SpecialPolicyInfo>(p => p.Audited && p.PlatformAudited && !p.Freezed && p.ResourceAmount > 0 && p.OwnerAudited && p.OwnerEnabled).ToList().Where(p => !p.Suspended && !p.OwnerIsExpired)); //data.AddRange(PolicyManageService.QueryPolicies<RoundTripPolicyInfo>(p => p.Audited && !p.Freezed && p.OwnerAudited && p.OwnerEnabled).ToList().Where(p => !p.Suspended && !p.OwnerIsExpired)); return(data); }
public IEnumerable <PolicyInfoBase> QueryPolicies(string departure, DateTime flightStartDate, DateTime flightEndDate, VoyageType voyageType, PolicyType policyType) { return(PolicyManageService.QueryPolicies(departure, flightStartDate, flightEndDate, voyageType, policyType, null)); }