Пример #1
0
        protected Core.ManagingBpt.OtherModel DeserializeOther(OtherModel model, Core.ManagingBpt.Computations computations)
        {
            var basketCountries        = model.BasketCountries.Select(x => this.DeserializeBasketCountry(x, computations)).ToList();
            var unsavedBasketCountries = model.UnsavedBasketCountries.Select(x => this.DeserializeUnsavedBasketCountry(x, computations)).ToList();
            var result = this.modelBuilder.CreateOtherModel(
                basketCountries,
                unsavedBasketCountries
                );

            return(result);
        }
Пример #2
0
        protected Core.ManagingBpt.RegionModel DeserializeRegion(RegionModel model, Core.ManagingBpt.Computations computations)
        {
            var residents = this.DeserializeRegionResidents(model.Residents, computations);
            var result    = this.modelBuilder.CreateRegionModel(
                model.Name,
                computations.BaseActiveFormula,
                residents
                );

            return(result);
        }
Пример #3
0
        protected Core.ManagingBpt.IGlobeResident DeserializeGlobeResidentOnceResolved(GlobeResident model, Core.ManagingBpt.Computations computations)
        {
            var resolver = new DeserializeGlobeResidentOnceResolved_IGlobeResidentResolver(this, computations);

            model.Accept(resolver);
            return(resolver.Result);
        }
Пример #4
0
        protected IEnumerable <Core.ManagingBpt.IGlobeResident> DeserializeGlobeResidents(List <GlobeResident> models, Core.ManagingBpt.Computations computations)
        {
            var result = models.Select(x => this.DeserializeGlobeResidentOnceResolved(x, computations)).ToArray();

            return(result);
        }
Пример #5
0
        protected Core.ManagingBpt.UnsavedBasketCountryModel DeserializeUnsavedBasketCountry(UnsavedBasketCountryModel model, Core.ManagingBpt.Computations computations)
        {
            var country = this.deserializer.DeserializeCountry(model.Country);

            var baseExpression = this.modelBuilder.CreateBaseExpression();

            this.deserializer.PopulateEditableExpression(baseExpression, model.Base);

            var portfolioAdjustmentExpression = this.modelBuilder.CreatePortfolioAdjustmentExpression();

            this.deserializer.PopulateEditableExpression(portfolioAdjustmentExpression, model.PortfolioAdjustment);

            var result = this.modelBuilder.CreateUnsavedBasketModel(
                country,
                computations,
                baseExpression,
                portfolioAdjustmentExpression
                );

            this.deserializer.PopulateUnchangableExpression(result.Benchmark, model.Benchmark);
            this.deserializer.PopulateUnchangableExpression(result.Overlay, model.Overlay);
            return(result);
        }
Пример #6
0
        protected Core.ManagingBpt.BasketRegionModel DeserializeBasketRegion(BasketRegionModel model, Core.ManagingBpt.Computations computations)
        {
            var basket = this.deserializer.DeserializeRegionBasket(model.Basket);

            var baseExpression = this.modelBuilder.CreateBaseExpression();

            this.deserializer.PopulateEditableExpression(baseExpression, model.Base);

            var portfolioAdjustmentExpression = this.modelBuilder.CreatePortfolioAdjustmentExpression();

            this.deserializer.PopulateEditableExpression(portfolioAdjustmentExpression, model.PortfolioAdjustment);

            var countries = model.Countries.Select(x => this.DeserializeCountry(x)).ToArray();
            var result    = this.modelBuilder.CreateBasketRegionModel(
                basket,
                countries,
                computations,
                baseExpression,
                portfolioAdjustmentExpression
                );

            return(result);
        }
Пример #7
0
 public DeserializeRegionResidentOnceResolved_IGlobeResidentResolver(Deserializer deserializer, Core.ManagingBpt.Computations computations)
 {
     this.deserializer = deserializer;
     this.computations = computations;
 }