summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Lepp <jlepp@arcresources.com>2010-10-18 16:35:01 -0600
committerJason Lepp <jlepp@arcresources.com>2010-10-18 16:35:01 -0600
commit4f7c1f73ff5dab991512118841e4cda826685bf9 (patch)
tree267bda0df4ee5758fefc571b5667a03e90c8ecb4
parentec85c3ecd47359cbd7eee06bc1b1b991e0d43732 (diff)
Remove Mappers from MVP
-rwxr-xr-xsrc/MVPtoMVVM.mvp/MVPtoMVVM.mvp.csproj4
-rw-r--r--src/MVPtoMVVM.mvp/mappers/ITodoItemMapper.cs10
-rw-r--r--src/MVPtoMVVM.mvp/mappers/ITodoItemPresenterMapper.cs12
-rw-r--r--src/MVPtoMVVM.mvp/mappers/TodoItemMapper.cs13
-rw-r--r--src/MVPtoMVVM.mvp/mappers/TodoItemPresenterMapper.cs25
-rw-r--r--src/MVPtoMVVM.mvp/presenters/MvpPresenter.cs14
-rw-r--r--src/MVPtoMVVM.mvp/presenters/TodoItemPresenter.cs16
-rw-r--r--src/MVPtoMVVM.mvvm/viewmodels/MainWindowViewModel.cs9
8 files changed, 22 insertions, 81 deletions
diff --git a/src/MVPtoMVVM.mvp/MVPtoMVVM.mvp.csproj b/src/MVPtoMVVM.mvp/MVPtoMVVM.mvp.csproj
index 29fc93d..05496e2 100755
--- a/src/MVPtoMVVM.mvp/MVPtoMVVM.mvp.csproj
+++ b/src/MVPtoMVVM.mvp/MVPtoMVVM.mvp.csproj
@@ -59,10 +59,6 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
- <Compile Include="mappers\ITodoItemMapper.cs" />
- <Compile Include="mappers\ITodoItemPresenterMapper.cs" />
- <Compile Include="mappers\TodoItemMapper.cs" />
- <Compile Include="mappers\TodoItemPresenterMapper.cs" />
<Compile Include="presenters\IMvpPresenter.cs" />
<Compile Include="presenters\ITodoItemPresenter.cs" />
<Compile Include="presenters\MvpPresenter.cs" />
diff --git a/src/MVPtoMVVM.mvp/mappers/ITodoItemMapper.cs b/src/MVPtoMVVM.mvp/mappers/ITodoItemMapper.cs
deleted file mode 100644
index 165a8ac..0000000
--- a/src/MVPtoMVVM.mvp/mappers/ITodoItemMapper.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using MVPtoMVVM.domain;
-using MVPtoMVVM.mvp.presenters;
-
-namespace MVPtoMVVM.mvp.mappers
-{
- public interface ITodoItemMapper
- {
- TodoItem MapFrom(ITodoItemPresenter presenter);
- }
-} \ No newline at end of file
diff --git a/src/MVPtoMVVM.mvp/mappers/ITodoItemPresenterMapper.cs b/src/MVPtoMVVM.mvp/mappers/ITodoItemPresenterMapper.cs
deleted file mode 100644
index 5471240..0000000
--- a/src/MVPtoMVVM.mvp/mappers/ITodoItemPresenterMapper.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System.Collections.Generic;
-using MVPtoMVVM.domain;
-using MVPtoMVVM.mvp.presenters;
-
-namespace MVPtoMVVM.mvp.mappers
-{
- public interface ITodoItemPresenterMapper
- {
- ITodoItemPresenter MapFrom(TodoItem item);
- IEnumerable<ITodoItemPresenter> MapAll(IEnumerable<TodoItem> items);
- }
-} \ No newline at end of file
diff --git a/src/MVPtoMVVM.mvp/mappers/TodoItemMapper.cs b/src/MVPtoMVVM.mvp/mappers/TodoItemMapper.cs
deleted file mode 100644
index 77fe55d..0000000
--- a/src/MVPtoMVVM.mvp/mappers/TodoItemMapper.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using MVPtoMVVM.domain;
-using MVPtoMVVM.mvp.presenters;
-
-namespace MVPtoMVVM.mvp.mappers
-{
- public class TodoItemMapper : ITodoItemMapper
- {
- public TodoItem MapFrom(ITodoItemPresenter presenter)
- {
- return new TodoItem {Description = presenter.Description, DueDate = presenter.DueDate, Id = presenter.Id};
- }
- }
-} \ No newline at end of file
diff --git a/src/MVPtoMVVM.mvp/mappers/TodoItemPresenterMapper.cs b/src/MVPtoMVVM.mvp/mappers/TodoItemPresenterMapper.cs
deleted file mode 100644
index 64525d5..0000000
--- a/src/MVPtoMVVM.mvp/mappers/TodoItemPresenterMapper.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-using MVPtoMVVM.domain;
-using MVPtoMVVM.mvp.presenters;
-using StructureMap;
-
-namespace MVPtoMVVM.mvp.mappers
-{
- public class TodoItemPresenterMapper : ITodoItemPresenterMapper
- {
- public ITodoItemPresenter MapFrom(TodoItem item)
- {
- var presenter = ObjectFactory.GetInstance<ITodoItemPresenter>();
- presenter.Id = item.Id;
- presenter.Description = item.Description;
- presenter.DueDate = item.DueDate;
- return presenter;
- }
-
- public IEnumerable<ITodoItemPresenter> MapAll(IEnumerable<TodoItem> items)
- {
- return items.Select(todoItem => MapFrom(todoItem));
- }
- }
-} \ No newline at end of file
diff --git a/src/MVPtoMVVM.mvp/presenters/MvpPresenter.cs b/src/MVPtoMVVM.mvp/presenters/MvpPresenter.cs
index d117799..9dd8f93 100644
--- a/src/MVPtoMVVM.mvp/presenters/MvpPresenter.cs
+++ b/src/MVPtoMVVM.mvp/presenters/MvpPresenter.cs
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using MVPtoMVVM.domain;
-using MVPtoMVVM.mvp.mappers;
using MVPtoMVVM.mvp.views;
using MVPtoMVVM.repositories;
using System.Linq;
@@ -12,12 +11,10 @@ namespace MVPtoMVVM.mvp.presenters
{
private IMvpView view;
private ITodoItemRepository itemRepository;
- private ITodoItemPresenterMapper presenterMapper;
- public MvpPresenter(ITodoItemRepository itemRepository, ITodoItemPresenterMapper presenterMapper)
+ public MvpPresenter(ITodoItemRepository itemRepository)
{
this.itemRepository = itemRepository;
- this.presenterMapper = presenterMapper;
}
public void SetView(IMvpView view)
@@ -29,7 +26,7 @@ namespace MVPtoMVVM.mvp.presenters
public void AddNewItem()
{
var items = new List<ITodoItemPresenter>(view.GetTodoItems());
- var newItem = presenterMapper.MapFrom(new TodoItem { DueDate = DateTime.Today, Description = ""});
+ var newItem = new TodoItemPresenter(itemRepository) {Description = string.Empty, DueDate = DateTime.Today} ;
items.Add(newItem);
view.SetTodoItems(items);
}
@@ -51,7 +48,12 @@ namespace MVPtoMVVM.mvp.presenters
private void RefreshItems()
{
- view.SetTodoItems(presenterMapper.MapAll(itemRepository.GetAll()));
+ view.SetTodoItems(itemRepository.GetAll().Select(MapFrom));
+ }
+
+ private ITodoItemPresenter MapFrom(TodoItem todoItem)
+ {
+ return new TodoItemPresenter(itemRepository) { Description = todoItem.Description, DueDate = todoItem.DueDate, Id = todoItem.Id};
}
}
} \ No newline at end of file
diff --git a/src/MVPtoMVVM.mvp/presenters/TodoItemPresenter.cs b/src/MVPtoMVVM.mvp/presenters/TodoItemPresenter.cs
index 2e95e53..269a569 100644
--- a/src/MVPtoMVVM.mvp/presenters/TodoItemPresenter.cs
+++ b/src/MVPtoMVVM.mvp/presenters/TodoItemPresenter.cs
@@ -1,6 +1,5 @@
using System;
using MVPtoMVVM.domain;
-using MVPtoMVVM.mvp.mappers;
using MVPtoMVVM.mvp.views;
using MVPtoMVVM.repositories;
@@ -9,14 +8,12 @@ namespace MVPtoMVVM.mvp.presenters
public class TodoItemPresenter : ITodoItemPresenter
{
private ITodoItemRepository itemRepository;
- private ITodoItemMapper itemMapper;
private ITodoItemView view;
public int Id { get; set; }
- public TodoItemPresenter(ITodoItemRepository itemRepository, ITodoItemMapper itemMapper)
+ public TodoItemPresenter(ITodoItemRepository itemRepository)
{
this.itemRepository = itemRepository;
- this.itemMapper = itemMapper;
}
public void SetView(ITodoItemView view)
@@ -43,15 +40,20 @@ namespace MVPtoMVVM.mvp.presenters
public void SaveItem()
{
- var item = itemMapper.MapFrom(this);
+ var item = GetTodoItem();
itemRepository.Save(item);
Id = item.Id;
IsDirty = false;
}
+ private TodoItem GetTodoItem()
+ {
+ return new TodoItem {Id = Id, Description = Description, DueDate = DueDate};
+ }
+
public void DeleteItem()
{
- var item = itemMapper.MapFrom(this);
+ var item = GetTodoItem();
view.Remove(item.Id);
itemRepository.Delete(item);
}
@@ -75,6 +77,8 @@ namespace MVPtoMVVM.mvp.presenters
}
private bool isDirty;
+
+
public bool IsDirty
{
get { return isDirty; }
diff --git a/src/MVPtoMVVM.mvvm/viewmodels/MainWindowViewModel.cs b/src/MVPtoMVVM.mvvm/viewmodels/MainWindowViewModel.cs
index 65144ed..af413eb 100644
--- a/src/MVPtoMVVM.mvvm/viewmodels/MainWindowViewModel.cs
+++ b/src/MVPtoMVVM.mvvm/viewmodels/MainWindowViewModel.cs
@@ -14,6 +14,10 @@ namespace MVPtoMVVM.mvvm.viewmodels
{
private ITodoItemRepository todoItemRepository;
private Synchronizer<MainWindowViewModel> updater;
+ public event PropertyChangedEventHandler PropertyChanged = (o, e) => { };
+ public ICollection<TodoItemViewModel> TodoItems { get; set; }
+ public ICommand CancelChangesCommand { get; set; }
+ public ICommand AddNewItemCommand { get; set; }
public MainWindowViewModel(ITodoItemRepository todoItemRepository)
{
@@ -50,11 +54,6 @@ namespace MVPtoMVVM.mvvm.viewmodels
};
}
- public ICollection<TodoItemViewModel> TodoItems { get; set; }
- public event PropertyChangedEventHandler PropertyChanged = (o,e)=> { };
- public ICommand CancelChangesCommand { get; set; }
- public ICommand AddNewItemCommand { get; set; }
-
public void Update(Expression<Func<MainWindowViewModel, object>> property)
{
updater.Update(property);