main
1using gorilla.commons.utility;
2using Gorilla.Commons.Utility;
3using MoMoney.Domain.Core;
4
5namespace MoMoney.Domain.Accounting
6{
7 public class AnnualIncomeVisitor : ValueReturningVisitor<Money, IIncome>
8 {
9 readonly Year year;
10
11 public AnnualIncomeVisitor(Year year)
12 {
13 this.year = year;
14 reset();
15 }
16
17 public void visit(IIncome x)
18 {
19 if (x.date_of_issue.is_in(year)) value = value.add(x.amount_tendered);
20 }
21
22 public Money value { get; set; }
23
24 public void reset()
25 {
26 value = new Money(0);
27 }
28 }
29}