Example #1
0
 /// <summary>
 /// 查询公司组限制信息
 /// </summary>
 public IEnumerable <CompanyGroupLimitationInfo> QueryCompanyLimmitations(Guid purchaser, SuperiorInfo superior)
 {
     return((superior != null && superior.Enable && !superior.Expired)
                ? Organization.CompanyService.GetGroupLimits(purchaser)
                : Izual.EnumerableHelper.GetEmpty <CompanyGroupLimitationInfo>());
 }
Example #2
0
 /// <summary>
 /// 过滤相应结算价不存在(数据库中保存为-1)的政策。
 /// </summary>
 /// <param name="policies">待过滤政策</param>
 /// <param name="superior">上级</param>
 /// <returns>过滤后政策</returns>
 /// <remarks>
 /// 这个方法实际上是用于过滤掉没有设置同行,下级或是内部机构,
 /// 先根据上级信息获取关系,然后通过关系获取到结算价,如果结算价小于0(数据库里是-1),则被过滤
 /// 在解决原来的产品方没有下级,而OEM中的产品方有下级时,就是从这里着手,
 /// 方法没有改变,但在数据库中存储值时,在下级结算价时存入数据;
 /// 还有一处相关的地方,就是ComputePolicy()方法中的结算价的判断;
 /// </remarks>
 internal static IEnumerable <PolicyInfoBase> FilterByPermission(this IEnumerable <PolicyInfoBase> policies, SuperiorInfo superior)
 {
     return(from p in policies
            let deductionType = Calculator.GetDeductionType(p.Owner, superior)
                                let commission = Calculator.GetCommission(p, deductionType)
                                                 where commission >= 0
                                                 select p);
 }