protected QualifiedIncentiveBase( IIncentiveValueCalculator valueCalculator, IEnumerable <IIncentiveQualification> qualifiers) { ValueCalculator = valueCalculator; Qualifiers = new ReadOnlyCollection <IIncentiveQualification>(qualifiers.ToList()); }
public FastStartBonusQualifiedIncentive( IIncentiveValueCalculator valueCalculator, IEnumerable <IIncentiveQualification> qualifiers) : base(valueCalculator, qualifiers) { ValueType = IncentiveValueType.Tiered; }
public Incentive AssignIncentive(IncentiveDefinition incentiveDefinition, IIncentiveValueCalculator incentiveValueCalculator, ISystemClock systemClock) { var incentiveValue = incentiveValueCalculator.CalculateValue(this, incentiveDefinition); var expirationDate = incentiveDefinition.CalculateExpirationDate(systemClock); var incentive = new Incentive(this, incentiveDefinition, expirationDate, incentiveValue); _assignedIncentives.Add(incentive); return(incentive); }
public IncentiveAssignmentService( ITraderRepository traderRepository, IIncentiveDefinitionRepository incentiveDefinitionRepository, IIncentiveValueCalculator incentiveValueCalculator, IIncentiveRepository incentiveRepository ) { _traderRepository = traderRepository; _incentiveDefinitionRepository = incentiveDefinitionRepository; _incentiveValueCalculator = incentiveValueCalculator; _incentiveRepository = incentiveRepository; }
public LeadershipBonusIncentive( IIncentiveValueCalculator valueCalculator) { ValueType = IncentiveValueType.Matrix; ValueCalculator = valueCalculator; }