@@ -51,6 +51,12 @@ class PerformanceCalculator {
5151
5252 return result
5353 }
54+ val volumeCredits: Int
55+ get() {
56+ var result = maxOf(this .aPerformance.audience - 30 , 0 )
57+ if (this .play?.type == " comedy" ) result + = this .aPerformance.audience / 5
58+ return result
59+ }
5460
5561 constructor (aPerformance: Performance , aPlay: Play ) {
5662 this .aPerformance = aPerformance
@@ -63,14 +69,8 @@ internal fun createStatementData(plays: Plays, invoice: Invoice): StatementData
6369 return plays[aPerformance.playID]!!
6470 }
6571
66- fun amountFor (aPerformance : Performance ): Int {
67- return PerformanceCalculator (aPerformance, playFor(aPerformance)).amount
68- }
69-
70- fun volumeCreditsFor (aPerformance : EnrichedPerformance ): Int {
71- var result = maxOf(aPerformance.audience - 30 , 0 )
72- if (aPerformance.play?.type == " comedy" ) result + = aPerformance.audience / 5
73- return result
72+ fun volumeCreditsFor (aPerformance : Performance ): Int {
73+ return PerformanceCalculator (aPerformance, playFor(aPerformance)).volumeCredits
7474 }
7575
7676 fun totalVolumeCredits (data : StatementData ): Int {
@@ -85,8 +85,8 @@ internal fun createStatementData(plays: Plays, invoice: Invoice): StatementData
8585 val calculator = PerformanceCalculator (aPerformance, playFor(aPerformance))
8686 val result = EnrichedPerformance (aPerformance)
8787 result.play = calculator.play
88- result.amount = amountFor(aPerformance)
89- result.volumeCredits = volumeCreditsFor(result )
88+ result.amount = calculator.amount
89+ result.volumeCredits = volumeCreditsFor(aPerformance )
9090 return result
9191 }
9292
0 commit comments