private MinAmountPurchase getMinPolicy() { foreach (PurchasePolicy p in policies) { if (p is MinAmountPurchase) { return((MinAmountPurchase)p); } if (p is ComplexPurchasePolicy) { if ((((ComplexPurchasePolicy)p).getFirstPolicyChild() is MinAmountPurchase)) { return((MinAmountPurchase)((ComplexPurchasePolicy)p).getFirstPolicyChild()); } if (((ComplexPurchasePolicy)p).getSecondPolicyChild() is MinAmountPurchase) { return((MinAmountPurchase)((ComplexPurchasePolicy)p).getSecondPolicyChild()); } if (((ComplexPurchasePolicy)p).getFirstPolicyChild() is ComplexPurchasePolicy) { ComplexPurchasePolicy c = (ComplexPurchasePolicy)(((ComplexPurchasePolicy)p).getFirstPolicyChild()); if (c.getFirstPolicyChild() is MinAmountPurchase) { return((MinAmountPurchase)(c.getFirstPolicyChild())); } else if (c.getSecondPolicyChild() is MinAmountPurchase) { return((MinAmountPurchase)c.getSecondPolicyChild()); } } else if (((ComplexPurchasePolicy)p).getSecondPolicyChild() is ComplexPurchasePolicy) { ComplexPurchasePolicy c = (ComplexPurchasePolicy)(((ComplexPurchasePolicy)p).getFirstPolicyChild()); if (c.getFirstPolicyChild() is MinAmountPurchase) { return((MinAmountPurchase)(c.getFirstPolicyChild())); } else if (c.getSecondPolicyChild() is MinAmountPurchase) { return((MinAmountPurchase)c.getSecondPolicyChild()); } } } } return(null); }
public bool hasTotalPricePolicy() { foreach (PurchasePolicy p in policies) { if (p is TotalPricePolicy) { return(true); } if (p is ComplexPurchasePolicy) { if ((((ComplexPurchasePolicy)p).getFirstPolicyChild() is TotalPricePolicy) || ((ComplexPurchasePolicy)p).getSecondPolicyChild() is TotalPricePolicy) { return(true); } if (((ComplexPurchasePolicy)p).getFirstPolicyChild() is ComplexPurchasePolicy) { ComplexPurchasePolicy c = (ComplexPurchasePolicy)(((ComplexPurchasePolicy)p).getFirstPolicyChild()); if (c.getFirstPolicyChild() is TotalPricePolicy || c.getSecondPolicyChild() is TotalPricePolicy) { return(true); } } else if (((ComplexPurchasePolicy)p).getSecondPolicyChild() is ComplexPurchasePolicy) { ComplexPurchasePolicy c = (ComplexPurchasePolicy)(((ComplexPurchasePolicy)p).getSecondPolicyChild()); if (c.getFirstPolicyChild() is TotalPricePolicy || c.getSecondPolicyChild() is TotalPricePolicy) { return(true); } } } } return(false); }