public class PCE
{
public string ActivityType { get; set; }
public string ActivitySubtype { get; set; }
public int Id { get; set; }
}
public class ActionLimit
{
public string PropertyName { get; set; }
public string PropertyValue { get; set; }
public int Nos { get; set; }
}
我收集了 PCE。说 -
PCE pce = new PCE();
pce.ActivityType = "Sales";
pce.ActivitySubtype = "Loan2";
pce.Id = 1;
listPCE.Add(pce);
pce = new PCE();
pce.ActivityType = "Sales";
pce.ActivitySubtype = "Loan1";
pce.Id = 2;
listPCE.Add(pce);
pce = new PCE();
pce.ActivityType = "Sales";
pce.ActivitySubtype = "Subcat";
pce.Id = 3;
listPCE.Add(pce);
pce = new PCE();
pce.ActivityType = "Loyalty";
pce.ActivitySubtype = "Loan";
pce.Id = 4;
listPCE.Add(pce);
我有一组 ActionLimits。说 -
ActionLimit al = new ActionLimit();
al.PropertyName = "ActivityType";
al.PropertyValue = "Sales";
al.Nos = 2;
listActionLimit.Add(al);
al = new ActionLimit();
al.PropertyName = "ActivitySubtype";
al.PropertyValue = "Loan";
al.Nos = 1;
listActionLimit.Add(al);
问题陈述:我需要算法通过 ActionLimit “Nos” 属性来限制 PCE 的收集。在上面的示例中,我需要将 PCE 限制为 2 个销售活动类型和 1 个贷款活动子类型。对于 PCE 的任何属性(不仅仅是 ActivityType 和 ActivitySubtype),该算法需要足够通用。此外,各种 ActionLimits 的结果应该是 ANDed。(所以在上面的例子中——在 2 个销售 PCE 中,如果其中一个不是 Loan ActivitySubtype,则将其排除在外)。