main
1using System.Collections.Generic;
2using MoMoney.DTO;
3using MoMoney.Presentation.Core;
4using MoMoney.Presentation.Views;
5using MoMoney.Service.Contracts.Application;
6
7namespace MoMoney.Presentation.Presenters
8{
9 public interface IAddNewIncomePresenter : IContentPresenter
10 {
11 void submit_new(IncomeSubmissionDTO income);
12 }
13
14 public class AddNewIncomePresenter : ContentPresenter<IAddNewIncomeView>, IAddNewIncomePresenter
15 {
16 readonly ICommandPump pump;
17
18 public AddNewIncomePresenter(IAddNewIncomeView view, ICommandPump pump) : base(view)
19 {
20 this.pump = pump;
21 }
22
23 public override void run()
24 {
25 view.attach_to(this);
26 pump.run<IEnumerable<CompanyDTO>, IGetAllCompanysQuery>(view);
27 pump.run<IEnumerable<IncomeInformationDTO>, IGetAllIncomeQuery>(view);
28 }
29
30 public void submit_new(IncomeSubmissionDTO income)
31 {
32 pump.run<IAddNewIncomeCommand, IncomeSubmissionDTO>(income);
33 pump.run<IEnumerable<IncomeInformationDTO>, IGetAllIncomeQuery>(view);
34 }
35 }
36}