diff options
| author | Craig Anderson <canderson@arcresources.com> | 2010-10-18 11:05:38 -0600 |
|---|---|---|
| committer | Craig Anderson <canderson@arcresources.com> | 2010-10-18 11:05:38 -0600 |
| commit | c09f638af5e65355add2214013bc9d1f47797b05 (patch) | |
| tree | 019454338927aa758a9522d6a755be29e594dcfa /src/MVPtoMVVM | |
| parent | c35a72c867d2547c972606254f374d7bdb466596 (diff) | |
Added new MVVM projects and started wire-up of ViewModels and commands.
Diffstat (limited to 'src/MVPtoMVVM')
| -rwxr-xr-x | src/MVPtoMVVM/MVPtoMVVM.csproj | 10 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/mappers/ITodoItemMapper.cs | 10 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/mappers/ITodoItemPresenterMapper.cs | 13 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/mappers/TodoItemMapper.cs | 14 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/mappers/TodoItemPresenterMapper.cs | 25 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/presenters/IMvpPresenter.cs | 12 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/presenters/ITodoItemPresenter.cs | 16 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/presenters/MvpPresenter.cs | 57 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/presenters/TodoItemPresenter.cs | 87 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/repositories/ITodoItemRepository.cs | 1 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/repositories/TodoItemRepository.cs | 7 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/views/IMvpView.cs | 11 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/views/ITodoItemView.cs | 16 |
13 files changed, 7 insertions, 272 deletions
diff --git a/src/MVPtoMVVM/MVPtoMVVM.csproj b/src/MVPtoMVVM/MVPtoMVVM.csproj index 30ad51d..a07341d 100755 --- a/src/MVPtoMVVM/MVPtoMVVM.csproj +++ b/src/MVPtoMVVM/MVPtoMVVM.csproj @@ -46,19 +46,9 @@ </ItemGroup>
<ItemGroup>
<Compile Include="domain\TodoItem.cs" />
- <Compile Include="mappers\ITodoItemMapper.cs" />
- <Compile Include="mappers\ITodoItemPresenterMapper.cs" />
- <Compile Include="mappers\TodoItemMapper.cs" />
- <Compile Include="mappers\TodoItemPresenterMapper.cs" />
- <Compile Include="presenters\ITodoItemPresenter.cs" />
- <Compile Include="presenters\TodoItemPresenter.cs" />
- <Compile Include="views\IMvpView.cs" />
- <Compile Include="presenters\IMvpPresenter.cs" />
- <Compile Include="presenters\MvpPresenter.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="repositories\ITodoItemRepository.cs" />
<Compile Include="repositories\TodoItemRepository.cs" />
- <Compile Include="views\ITodoItemView.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
diff --git a/src/MVPtoMVVM/mappers/ITodoItemMapper.cs b/src/MVPtoMVVM/mappers/ITodoItemMapper.cs deleted file mode 100755 index dc6d15f..0000000 --- a/src/MVPtoMVVM/mappers/ITodoItemMapper.cs +++ /dev/null @@ -1,10 +0,0 @@ -using MVPtoMVVM.domain;
-using MVPtoMVVM.presenters;
-
-namespace MVPtoMVVM.mappers
-{
- public interface ITodoItemMapper
- {
- TodoItem MapFrom(ITodoItemPresenter presenter);
- }
-}
\ No newline at end of file diff --git a/src/MVPtoMVVM/mappers/ITodoItemPresenterMapper.cs b/src/MVPtoMVVM/mappers/ITodoItemPresenterMapper.cs deleted file mode 100755 index 904444c..0000000 --- a/src/MVPtoMVVM/mappers/ITodoItemPresenterMapper.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Collections.Generic;
-using MVPtoMVVM.domain;
-using MVPtoMVVM.presenters;
-using MVPtoMVVM.views;
-
-namespace MVPtoMVVM.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/mappers/TodoItemMapper.cs b/src/MVPtoMVVM/mappers/TodoItemMapper.cs deleted file mode 100755 index 98b3cc1..0000000 --- a/src/MVPtoMVVM/mappers/TodoItemMapper.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System;
-using MVPtoMVVM.domain;
-using MVPtoMVVM.presenters;
-
-namespace MVPtoMVVM.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/mappers/TodoItemPresenterMapper.cs b/src/MVPtoMVVM/mappers/TodoItemPresenterMapper.cs deleted file mode 100755 index 69d56c5..0000000 --- a/src/MVPtoMVVM/mappers/TodoItemPresenterMapper.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.Collections.Generic;
-using System.Linq;
-using MVPtoMVVM.domain;
-using MVPtoMVVM.presenters;
-using StructureMap;
-
-namespace MVPtoMVVM.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/presenters/IMvpPresenter.cs b/src/MVPtoMVVM/presenters/IMvpPresenter.cs deleted file mode 100755 index 24dc65b..0000000 --- a/src/MVPtoMVVM/presenters/IMvpPresenter.cs +++ /dev/null @@ -1,12 +0,0 @@ -using MVPtoMVVM.views;
-
-namespace MVPtoMVVM.presenters
-{
- public interface IMvpPresenter
- {
- void SetView(IMvpView view);
- void AddNewItem();
- void CancelAllChanges();
- void Remove(int itemId);
- }
-}
\ No newline at end of file diff --git a/src/MVPtoMVVM/presenters/ITodoItemPresenter.cs b/src/MVPtoMVVM/presenters/ITodoItemPresenter.cs deleted file mode 100755 index 5866786..0000000 --- a/src/MVPtoMVVM/presenters/ITodoItemPresenter.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System;
-using MVPtoMVVM.domain;
-using MVPtoMVVM.views;
-
-namespace MVPtoMVVM.presenters
-{
- public interface ITodoItemPresenter
- {
- void SetView(ITodoItemView view);
- void SaveItem();
- void DeleteItem();
- int Id { get; set; }
- string Description { get; set; }
- DateTime DueDate { get; set; }
- }
-}
\ No newline at end of file diff --git a/src/MVPtoMVVM/presenters/MvpPresenter.cs b/src/MVPtoMVVM/presenters/MvpPresenter.cs deleted file mode 100755 index 380d335..0000000 --- a/src/MVPtoMVVM/presenters/MvpPresenter.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System;
-using System.Collections.Generic;
-using MVPtoMVVM.domain;
-using MVPtoMVVM.mappers;
-using MVPtoMVVM.repositories;
-using MVPtoMVVM.views;
-using System.Linq;
-
-namespace MVPtoMVVM.presenters
-{
- public class MvpPresenter : IMvpPresenter
- {
- private IMvpView view;
- private ITodoItemRepository itemRepository;
- private ITodoItemPresenterMapper presenterMapper;
-
- public MvpPresenter(ITodoItemRepository itemRepository, ITodoItemPresenterMapper presenterMapper)
- {
- this.itemRepository = itemRepository;
- this.presenterMapper = presenterMapper;
- }
-
- public void SetView(IMvpView view)
- {
- this.view = view;
- InitializeView();
- }
-
- public void AddNewItem()
- {
- var items = new List<ITodoItemPresenter>(view.GetTodoItems());
- var newItem = presenterMapper.MapFrom(new TodoItem { DueDate = DateTime.Today});
- items.Add(newItem);
- view.SetTodoItems(items);
- }
-
- public void CancelAllChanges()
- {
- RefreshItems();
- }
-
- public void Remove(int itemId)
- {
- view.SetTodoItems(view.GetTodoItems().Where(x => x.Id != itemId));
- }
-
- private void InitializeView()
- {
- RefreshItems();
- }
-
- private void RefreshItems()
- {
- view.SetTodoItems(presenterMapper.MapAll(itemRepository.GetAll()));
- }
- }
-}
\ No newline at end of file diff --git a/src/MVPtoMVVM/presenters/TodoItemPresenter.cs b/src/MVPtoMVVM/presenters/TodoItemPresenter.cs deleted file mode 100755 index 96ee843..0000000 --- a/src/MVPtoMVVM/presenters/TodoItemPresenter.cs +++ /dev/null @@ -1,87 +0,0 @@ -using System;
-using MVPtoMVVM.domain;
-using MVPtoMVVM.mappers;
-using MVPtoMVVM.repositories;
-using MVPtoMVVM.views;
-
-namespace MVPtoMVVM.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)
- {
- this.itemRepository = itemRepository;
- this.itemMapper = itemMapper;
- }
-
- public void SetView(ITodoItemView view)
- {
- this.view = view;
- InitializeView();
- }
-
- public void SetItem(TodoItem item)
- {
- Id = item.Id;
- Description = item.Description;
- DueDate = item.DueDate;
- IsDirty = false;
- }
-
- private void InitializeView()
- {
- view.Id = Id;
- view.Description = Description;
- view.DueDate = DueDate;
- view.SaveButtonEnabled = false;
- }
-
- public void SaveItem()
- {
- var item = itemMapper.MapFrom(this);
- itemRepository.Save(item);
- Id = item.Id;
- IsDirty = false;
- }
-
- public void DeleteItem()
- {
- var item = itemMapper.MapFrom(this);
- view.Remove(item.Id);
- itemRepository.Delete(item);
- }
-
- private string description;
- public string Description
- {
- get { return description; }
- set { description = value;
- IsDirty = true;
- }
- }
-
- private DateTime dueDate;
- public DateTime DueDate
- {
- get { return dueDate; }
- set { dueDate = value;
- IsDirty = true;
- }
- }
-
- private bool isDirty;
- public bool IsDirty
- {
- get { return isDirty; }
- private set { isDirty = value;
- if (view != null)
- view.SaveButtonEnabled = isDirty;
- }
- }
- }
-}
\ No newline at end of file diff --git a/src/MVPtoMVVM/repositories/ITodoItemRepository.cs b/src/MVPtoMVVM/repositories/ITodoItemRepository.cs index cfe9ab1..21a51c6 100755 --- a/src/MVPtoMVVM/repositories/ITodoItemRepository.cs +++ b/src/MVPtoMVVM/repositories/ITodoItemRepository.cs @@ -9,5 +9,6 @@ namespace MVPtoMVVM.repositories TodoItem Get(int id);
IEnumerable<TodoItem> GetAll();
void Delete(TodoItem item);
+ void Delete(int todoItemId);
}
}
\ No newline at end of file diff --git a/src/MVPtoMVVM/repositories/TodoItemRepository.cs b/src/MVPtoMVVM/repositories/TodoItemRepository.cs index 23418e5..0783c97 100755 --- a/src/MVPtoMVVM/repositories/TodoItemRepository.cs +++ b/src/MVPtoMVVM/repositories/TodoItemRepository.cs @@ -38,7 +38,12 @@ namespace MVPtoMVVM.repositories public void Delete(TodoItem item)
{
- var repoItem = items.Find(x => x.Id == item.Id);
+ Delete(item.Id);
+ }
+
+ public void Delete(int todoItemId)
+ {
+ var repoItem = Get(todoItemId);
items.Remove(repoItem);
}
diff --git a/src/MVPtoMVVM/views/IMvpView.cs b/src/MVPtoMVVM/views/IMvpView.cs deleted file mode 100755 index e3f3d4e..0000000 --- a/src/MVPtoMVVM/views/IMvpView.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System.Collections.Generic;
-using MVPtoMVVM.presenters;
-
-namespace MVPtoMVVM.views
-{
- public interface IMvpView
- {
- void SetTodoItems(IEnumerable<ITodoItemPresenter> presenters);
- IEnumerable<ITodoItemPresenter> GetTodoItems();
- }
-}
\ No newline at end of file diff --git a/src/MVPtoMVVM/views/ITodoItemView.cs b/src/MVPtoMVVM/views/ITodoItemView.cs deleted file mode 100755 index 7d8c787..0000000 --- a/src/MVPtoMVVM/views/ITodoItemView.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System;
-using MVPtoMVVM.domain;
-using MVPtoMVVM.presenters;
-
-namespace MVPtoMVVM.views
-{
- public interface ITodoItemView
- {
- int Id { get; set; }
- string Description { get; set; }
- DateTime DueDate { get; set; }
- bool SaveButtonEnabled { get; set; }
- ITodoItemPresenter Presenter { get; }
- void Remove(int itemId);
- }
-}
\ No newline at end of file |
