Beispiel #1
0
        public Decimal PopulateOnceResolved(IRegionModelResident resident, BenchmarkValueResolver valueResolver)
        {
            var resolver = new PopulateOnceResolved_IRegionModelResidentResolver(this, valueResolver);

            resident.Accept(resolver);
            return(resolver.Result);
        }
Beispiel #2
0
        public Decimal Populate(UnsavedBasketCountryModel unsavedBasketCountry, BenchmarkValueResolver valueResolver)
        {
            var value = valueResolver.GetBenchmark(unsavedBasketCountry.Country.IsoCode.Value);

            unsavedBasketCountry.Benchmark = value;
            return(value);
        }
Beispiel #3
0
        public Decimal Populate(CountryModel country, BenchmarkValueResolver valueResolver)
        {
            var value = valueResolver.GetBenchmark(country.Country.IsoCode.Value);

            country.Benchmark = value;
            return(value);
        }
Beispiel #4
0
        public void Initialize(RootModel breakdown, BenchmarkValueResolver valueResolver)
        {
            var models = this.traverser.TraverseGlobe(breakdown.Globe);

            foreach (var model in models)
            {
                this.InitializeOnceResolved(model, valueResolver);
            }
        }
Beispiel #5
0
        public void Populate(BreakdownModel breakdown, BenchmarkValueResolver valueResolver)
        {
            // populating countries and regions
            var residents = breakdown.GetResidents();

            foreach (var resident in residents)
            {
                this.PopulateOnceResolved(resident, valueResolver);
            }
        }
Beispiel #6
0
        public Decimal Populate(BasketRegionModel basketRegion, BenchmarkValueResolver valueResolver)
        {
            var total     = 0m;
            var countries = basketRegion.GetCountries();

            foreach (var country in countries)
            {
                total += this.Populate(country, valueResolver);
            }
            return(total);
        }
Beispiel #7
0
        public Decimal Populate(RegionModel region, BenchmarkValueResolver valueResolver)
        {
            var residents = region.GetResidents();
            var total     = 0m;

            foreach (var resident in residents)
            {
                total += this.PopulateOnceResolved(resident, valueResolver);
            }
            region.Benchmark = total;
            return(total);
        }
Beispiel #8
0
        public Decimal Populate(OtherModel other, BenchmarkValueResolver valueResolver)
        {
            var total     = 0m;
            var residents = other.GetResidents();

            foreach (var resident in residents)
            {
                total += this.PopulateOnceResolved(resident, valueResolver);
            }
            other.Benchmark = total;
            return(total);
        }
Beispiel #9
0
 public InitializeMultimethod(BenchmarkValueInitializer initializer, BenchmarkValueResolver valueResolver)
 {
     this.initializer   = initializer;
     this.valueResolver = valueResolver;
 }
Beispiel #10
0
 private void InitializeOnceResolved(IModel model, BenchmarkValueResolver valueResolver)
 {
     model.Accept(new InitializeMultimethod(this, valueResolver));
 }
Beispiel #11
0
 public PopulateOnceResolved_IRegionModelResidentResolver(BenchmarkValuePopulator populator, BenchmarkValueResolver valueResolver)
 {
     this.populator     = populator;
     this.valueResolver = valueResolver;
 }
Beispiel #12
0
        public void PopulateOnceResolved(IBreakdownModelResident resident, BenchmarkValueResolver valueResolver)
        {
            var resolver = new PopulateOnceResolved_IBreakdownModelResidentResolver(this, valueResolver);

            resident.Accept(resolver);
        }