protected QualifiedIncentiveBase(
     IIncentiveValueCalculator valueCalculator,
     IEnumerable <IIncentiveQualification> qualifiers)
 {
     ValueCalculator = valueCalculator;
     Qualifiers      = new ReadOnlyCollection <IIncentiveQualification>(qualifiers.ToList());
 }
Esempio n. 2
0
 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);
        }
Esempio n. 4
0
 public IncentiveAssignmentService(
     ITraderRepository traderRepository,
     IIncentiveDefinitionRepository incentiveDefinitionRepository,
     IIncentiveValueCalculator incentiveValueCalculator,
     IIncentiveRepository incentiveRepository
     )
 {
     _traderRepository = traderRepository;
     _incentiveDefinitionRepository = incentiveDefinitionRepository;
     _incentiveValueCalculator      = incentiveValueCalculator;
     _incentiveRepository           = incentiveRepository;
 }
Esempio n. 5
0
 public LeadershipBonusIncentive(
     IIncentiveValueCalculator valueCalculator)
 {
     ValueType       = IncentiveValueType.Matrix;
     ValueCalculator = valueCalculator;
 }