public IPricingResult PricingResult(CouponPathFlows result, IProduct product, Market market) { var refCurrency = product.Financing.Currency; var priceDetails = new List <Tuple <string, PaymentInfo, Price> >(); var totalPrice = 0.0; for (int i = 0; i < result.Flows.Length; i++) { CouponFlowLabel couponFlow = result.Labels[i]; var price = new Price(result.Flows[i], couponFlow.Payment.Currency); priceDetails.Add(new Tuple <string, PaymentInfo, Price>(couponFlow.Label, couponFlow.Payment, price)); totalPrice += price.Convert(refCurrency, market).Value; } return(new PriceResult(new Price(totalPrice, refCurrency), priceDetails.ToArray())); }