main
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using System.Windows.Forms;
 5using MoMoney.DTO;
 6using MoMoney.Presentation.Presenters;
 7using momoney.presentation.views;
 8using MoMoney.Presentation.Views;
 9using MoMoney.Presentation.Winforms.Databinding;
10using MoMoney.Presentation.Winforms.Resources;
11using gorilla.commons.utility;
12
13namespace MoMoney.Presentation.Winforms.Views
14{
15    public partial class AddCompanyView : ApplicationDockedWindow, IAddCompanyView
16    {
17        ControlAction<EventArgs> submit_button = x => {};
18        readonly RegisterNewCompany dto;
19
20        public AddCompanyView()
21        {
22            InitializeComponent();
23            titled("Add A Company")
24                .icon(ApplicationIcons.AddCompany);
25            dto = new RegisterNewCompany();
26
27            listView1.View = View.LargeIcon;
28            listView1.LargeImageList = new ImageList();
29            ApplicationIcons.all().each(x => listView1.LargeImageList.Images.Add(x.name_of_the_icon, x));
30            listView1.Columns.Add("Name");
31
32            ux_submit_button.Click += (x, y) => submit_button(y);
33            ux_cancel_button.Click += (x, y) => Close();
34        }
35
36        public void attach_to(IAddCompanyPresenter presenter)
37        {
38            ux_company_name.bind_to(dto, x => x.company_name);
39            submit_button = x => presenter.submit(dto);
40        }
41
42        public void run(IEnumerable<CompanyDTO> companies)
43        {
44            ux_companys_listing.DataSource = companies.databind();
45
46            listView1.Items.Clear();
47            listView1.Items.AddRange(companies.Select(x => new ListViewItem(x.name, 0)).ToArray());
48        }
49    }
50}