Ejemplo n.º 1
0
 public void InitializeCore(
     IBasket basket,
     String benchmarkId,
     CoreModel core,
     ManagingBenchmarks.BenchmarkRepository benchmarkRepository
     )
 {
     foreach (var securityModel in core.Securities)
     {
         this.InitializeSecurity(basket, benchmarkId, securityModel, benchmarkRepository);
     }
 }
Ejemplo n.º 2
0
        public void InitializeSecurity(
            IBasket basket,
            String benchmarkId,
            SecurityModel security,
            ManagingBenchmarks.BenchmarkRepository benchmarkRepository
            )
        {
            var totalOpt         = this.TryGetTotalByBasketOnceResolved(basket, benchmarkId, benchmarkRepository);
            var benchmarks       = benchmarkRepository.TryGetBySecurity(security.Security);
            var benchmarkInfoOpt = benchmarks.FirstOrDefault(x => x.BenchmarkId == benchmarkId);

            if (benchmarkInfoOpt != null && benchmarkInfoOpt.BenchmarkWeight.HasValue && benchmarkInfoOpt.BenchmarkId == benchmarkId)
            {
                if (totalOpt.HasValue)
                {
                    security.Benchmark.InitialValue = benchmarkInfoOpt.BenchmarkWeight.Value / totalOpt.Value;
                }
                else
                {
#warning When you have time think about this:
                    security.Benchmark.InitialValue = 0.0m;
                }
            }
        }