main
 1using System;
 2using System.Collections.Generic;
 3using gorilla.commons.utility;
 4using MoMoney.DTO;
 5using MoMoney.Presentation.Presenters;
 6using momoney.presentation.views;
 7using MoMoney.Presentation.Views;
 8using MoMoney.Presentation.Winforms.Helpers;
 9using MoMoney.Presentation.Winforms.Krypton;
10using MoMoney.Presentation.Winforms.Resources;
11
12namespace MoMoney.Presentation.Winforms.Views
13{
14    public partial class AddNewIncomeView : ApplicationDockedWindow, IAddNewIncomeView
15    {
16        ControlAction<EventArgs> submit_button = x => { };
17        readonly IBindableList<CompanyDTO> companies_list;
18
19        public AddNewIncomeView()
20        {
21            InitializeComponent();
22            titled("Add Income")
23                .icon(ApplicationIcons.AddNewIncome);
24            ux_submit_button.Click += (sender, e) => submit_button(e);
25
26            companies_list = ux_companys.create_for<CompanyDTO>();
27        }
28
29        public void attach_to(IAddNewIncomePresenter presenter)
30        {
31            submit_button = x => presenter.submit_new(create_income());
32        }
33
34        public void run(IEnumerable<CompanyDTO> companies)
35        {
36            companies_list.bind_to(companies);
37        }
38
39        public void run(IEnumerable<IncomeInformationDTO> incomes)
40        {
41            ux_income_received_grid.DataSource = incomes.databind();
42        }
43
44        IncomeSubmissionDTO create_income()
45        {
46            return new IncomeSubmissionDTO
47                       {
48                           company_id = companies_list.get_selected_item().id,
49                           amount = ux_amount.Text.to_double(),
50                           recieved_date = ux_date_received.Value
51                       };
52        }
53    }
54}