Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 public IEnumerable <PolicyInfoBase> QueryPolicies(string departure, DateTime flightStartDate, DateTime flightEndDate, VoyageType voyageType, PolicyType policyType)
 {
     return(PolicyManageService.QueryPolicies(departure, flightStartDate, flightEndDate, voyageType, policyType, null));
 }