コード例 #1
0
        private decimal GetDailyFoodCost(Animal animal)
        {
            Rate rate = _rateRepository.GetRateForAnimalType(animal.Type);

            switch (rate.ConsumptionType)
            {
            case FoodConsumptionType.Fruit:
                return(animal.Weight * rate.Value * _fruitPrice);

            case FoodConsumptionType.Meat:
                return(animal.Weight * rate.Value * _meatPrice);

            default:
                return(animal.Weight * rate.Value * rate.Percentage * _meatPrice
                       + animal.Weight * rate.Value * (1 - rate.Percentage) * _fruitPrice);
            }
        }
コード例 #2
0
 public AnimalDailyFeedingCostCalculator(Animal animal, IRateRepository rateRepository, IPriceRepository priceRepository)
 {
     _animal          = animal;
     _priceRepository = priceRepository;
     _rate            = rateRepository.GetRateForAnimalType(animal.Type);
 }