public PriceList GetPriceList() { var list = new PriceList(); var s = $" Period {InvoiceTerm.Start.ToShortDateString()} to {InvoiceTerm.End.ToShortDateString()}."; list.Add(ConsumptionPrice()); // and other consumption dependent components (fees, environment taxes, etc) list.AppendToDescription(s); list.AddRange(StandingCharges()); // and other term dependent components (grid charges, administration, etc) var total = list.Sum(); total.Description = "Total." + s; list.Add(total); return(list); }