summaryrefslogtreecommitdiff
path: root/src/MVPtoMVVM.mvp/MvpWindow.xaml.cs
blob: 733c1726ecad80fab2681b3748fb71d439b6397b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System.Collections.Generic;
using System.Linq;
using MVPtoMVVM.mvp.presenters;
using MVPtoMVVM.mvp.views;
using StructureMap;

namespace MVPtoMVVM.mvp
{
    public partial class MvpWindow : IMvpView
    {
        private IMvpPresenter presenter;

        public MvpWindow()
        {
            InitializeComponent();
            presenter = ObjectFactory.GetInstance<IMvpPresenter>();
            presenter.SetView(this);
            newItemButton.Click += (o, e) => presenter.AddNewItem();
            cancelButton.Click += (o, e) => presenter.CancelAllChanges();
        }

        public void ShowTodoItems(IEnumerable<ITodoItemPresenter> presenters)
        {
            todoItemsList.ItemsSource = presenters.Select(x => new TodoItemView(x, presenter));
        }

        public IEnumerable<ITodoItemPresenter> GetTodoItems()
        {
            return todoItemsList.ItemsSource.Cast<ITodoItemView>().Select(x => x.Presenter);
        }

    }
}