public OfferConstraintChainTask(OfferConstraintComponentBase <T> component, ICustomerBase customer) { Mandate.ParameterNotNull(component, "component"); Mandate.ParameterNotNull(customer, "customer"); _component = component; _customer = customer; }
/// <summary> /// Convert constraint to task. /// </summary> /// <param name="constraint"> /// The constraint. /// </param> /// <param name="customer"> /// The customer. /// </param> /// <returns> /// The <see cref="OfferConstraintChainTask{T}"/>. /// </returns> protected abstract OfferConstraintChainTask <TConstraint> ConvertConstraintToTask(OfferConstraintComponentBase <TConstraint> constraint, ICustomerBase customer);
/// <summary> /// Initializes a new instance of the <see cref="LineItemContainerOfferConstraintTask"/> class. /// </summary> /// <param name="component"> /// The component. /// </param> /// <param name="customer"> /// The customer. /// </param> public LineItemContainerOfferConstraintTask(OfferConstraintComponentBase <ILineItemContainer> component, ICustomerBase customer) : base(component, customer) { }
protected override OfferConstraintChainTask <ILineItemContainer> ConvertConstraintToTask(OfferConstraintComponentBase <ILineItemContainer> constraint, ICustomerBase customer) { return(new LineItemContainerOfferConstraintTask(constraint, customer)); }