main
 1using System;
 2using solidware.financials.windows.ui.presenters;
 3using solidware.financials.windows.ui.views.controls;
 4
 5namespace solidware.financials.windows.ui.model
 6{
 7    public class TaxesForIndividual : ObservablePresenter<TaxesForIndividual>
 8    {
 9        public TaxesForIndividual(Guid id, FederalTaxesViewModel federalTaxes, ProvincialTaxesViewModel provincialTaxes)
10        {
11            Id = id;
12            Income = Money.Null;
13            FederalTaxes = federalTaxes;
14            ProvincialTaxes = provincialTaxes;
15        }
16
17        public Guid Id { get; private set; }
18        public Observable<Money> Income { get; private set; }
19        public FederalTaxesViewModel FederalTaxes { get; set; }
20        public ProvincialTaxesViewModel ProvincialTaxes { get; set; }
21
22        public void AddIncome(decimal amount)
23        {
24            Income.Value += amount;
25            FederalTaxes.ApplyTaxesTo(Income.Value);
26            ProvincialTaxes.ApplyTaxesTo(Income.Value);
27        }
28    }
29}