main
 1namespace domain
 2{
 3  using utility;
 4
 5  public class EstimatedNetProductionFor<Commodity> : IValueReturningVisitor<IWell, IQuantity> where Commodity : ICommodity, new()
 6  {
 7    Month month;
 8    IQuantity result;
 9
10    public EstimatedNetProductionFor(Month month)
11    {
12      this.month = month;
13      result = new Quantity(0, new BOED());
14    }
15
16    public void Visit(IWell well)
17    {
18      result = result.Plus(well.NetProductionFor<Commodity>(month));
19    }
20
21    public IQuantity Result()
22    {
23      return this.result;
24    }
25  }
26}