コード例 #1
0
        public IIncentive CreateIncentiveTieredInstance(
            int id, string name, string description, IIncentiveTierValue <int, decimal> values)
        {
            IIncentive incentive;

            switch (name)
            {
            case "Fast Start Bonus":
            { incentive = new FastStartBonusQualifiedIncentive(
                  new FastStartBonusQualifiedIncentive.FastStartBonusValueCalculator(values),
                  new List <IIncentiveQualification>
                    {
                        new FastStartBonusQualifiedIncentive.FastStartBonusQualification()
                    }); }
                    break;

            case "Fast Start Training Bonus":
            {
                incentive = new FastStartBonusQualifiedIncentive(
                    new FastStartBonusQualifiedIncentive.FastStartBonusValueCalculator(values),
                    new List <IIncentiveQualification>
                    {
                        new FastStartBonusQualifiedIncentive.FastStartTrainingBonusQualification()
                    });
            }
            break;

            default:
                throw new ArgumentException("Unknown incentive type", name);
            }

            incentive.Id          = id;
            incentive.Name        = name;
            incentive.Description = description;

            return(incentive);
        }
コード例 #2
0
 public FastStartBonusValueCalculator(IIncentiveTierValue <int, decimal> tierValues)
 {
     _tierValues = tierValues;
 }