public void InitializeCore( IBasket basket, String benchmarkId, CoreModel core, ManagingBenchmarks.BenchmarkRepository benchmarkRepository ) { foreach (var securityModel in core.Securities) { this.InitializeSecurity(basket, benchmarkId, securityModel, benchmarkRepository); } }
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; } } }