summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2010-10-19 12:31:58 -0600
committermo khan <mo@mokhan.ca>2010-10-19 12:31:58 -0600
commit6d57e6b7a56727e5189d2e4bf7b62f33c12f9ada (patch)
treee60cdba81e438811ed5217161ef46a844dbdc05e
parent158ecc73bfdc1a7e1331973518688ecab895479f (diff)
parentdbb3a35c463071b0df52d0c8e42b26b00ef024de (diff)
Merge branch 'master' of github.com:arcresources/MVPtoMVVM
-rwxr-xr-xsrc/MVPtoMVVM.mvp/TodoItemView.xaml.cs3
-rw-r--r--src/MVPtoMVVM.mvp/presenters/MvpPresenter.cs32
-rw-r--r--src/MVPtoMVVM.mvp/presenters/TodoItemPresenter.cs36
3 files changed, 35 insertions, 36 deletions
diff --git a/src/MVPtoMVVM.mvp/TodoItemView.xaml.cs b/src/MVPtoMVVM.mvp/TodoItemView.xaml.cs
index 662eef7..ffb2b89 100755
--- a/src/MVPtoMVVM.mvp/TodoItemView.xaml.cs
+++ b/src/MVPtoMVVM.mvp/TodoItemView.xaml.cs
@@ -6,9 +6,6 @@ using MVPtoMVVM.mvp.views;
namespace MVPtoMVVM.mvp
{
- /// <summary>
- /// Interaction logic for TodoItemView.xaml
- /// </summary>
public partial class TodoItemView : ITodoItemView
{
private readonly IMvpPresenter parent;
diff --git a/src/MVPtoMVVM.mvp/presenters/MvpPresenter.cs b/src/MVPtoMVVM.mvp/presenters/MvpPresenter.cs
index 9dd8f93..e949ca7 100644
--- a/src/MVPtoMVVM.mvp/presenters/MvpPresenter.cs
+++ b/src/MVPtoMVVM.mvp/presenters/MvpPresenter.cs
@@ -23,37 +23,39 @@ namespace MVPtoMVVM.mvp.presenters
InitializeView();
}
- public void AddNewItem()
+ private void InitializeView()
{
- var items = new List<ITodoItemPresenter>(view.GetTodoItems());
- var newItem = new TodoItemPresenter(itemRepository) {Description = string.Empty, DueDate = DateTime.Today} ;
- items.Add(newItem);
- view.SetTodoItems(items);
+ RefreshItems();
}
- public void CancelAllChanges()
+ private void RefreshItems()
{
- RefreshItems();
+ var todoItemPresenters = itemRepository.GetAll().Select(MapFrom);
+ view.ShowTodoItems(todoItemPresenters);
}
- public void Remove(int itemId)
+ private ITodoItemPresenter MapFrom(TodoItem todoItem)
{
- view.SetTodoItems(view.GetTodoItems().Where(x => x.Id != itemId));
+ return new TodoItemPresenter(itemRepository) { Description = todoItem.Description, DueDate = todoItem.DueDate, Id = todoItem.Id };
}
- private void InitializeView()
+ public void AddNewItem()
{
- RefreshItems();
+ var items = new List<ITodoItemPresenter>(view.GetTodoItems());
+ var newItem = new TodoItemPresenter(itemRepository) {Description = string.Empty, DueDate = DateTime.Today} ;
+ items.Add(newItem);
+ view.ShowTodoItems(items);
}
- private void RefreshItems()
+ public void CancelAllChanges()
{
- view.SetTodoItems(itemRepository.GetAll().Select(MapFrom));
+ RefreshItems();
}
- private ITodoItemPresenter MapFrom(TodoItem todoItem)
+ public void Remove(int itemId)
{
- return new TodoItemPresenter(itemRepository) { Description = todoItem.Description, DueDate = todoItem.DueDate, Id = todoItem.Id};
+ view.ShowTodoItems(view.GetTodoItems().Where(x => x.Id != itemId));
}
+
}
} \ No newline at end of file
diff --git a/src/MVPtoMVVM.mvp/presenters/TodoItemPresenter.cs b/src/MVPtoMVVM.mvp/presenters/TodoItemPresenter.cs
index 269a569..5fffc84 100644
--- a/src/MVPtoMVVM.mvp/presenters/TodoItemPresenter.cs
+++ b/src/MVPtoMVVM.mvp/presenters/TodoItemPresenter.cs
@@ -22,14 +22,6 @@ namespace MVPtoMVVM.mvp.presenters
InitializeView();
}
- public void SetItem(TodoItem item)
- {
- Id = item.Id;
- Description = item.Description;
- DueDate = item.DueDate;
- IsDirty = false;
- }
-
private void InitializeView()
{
view.Id = Id;
@@ -38,6 +30,24 @@ namespace MVPtoMVVM.mvp.presenters
view.SaveButtonEnabled = false;
}
+ private void UpdateControlState()
+ {
+ view.SaveButtonEnabled = IsDirty && IsDescriptionValid() && IsDueDateValid();
+ view.DescriptionHasValidationErrors = !IsDescriptionValid();
+ view.DescriptionValidationMessage = GetDescriptionValidationMessage();
+ view.DueDateHasValidationErrors = !IsDueDateValid();
+ view.DueDateValidationMessage = GetDueDateValidationMessage();
+ view.IsDueSoon = IsDueSoon();
+ }
+
+ public void SetItem(TodoItem item)
+ {
+ Id = item.Id;
+ Description = item.Description;
+ DueDate = item.DueDate;
+ IsDirty = false;
+ }
+
public void SaveItem()
{
var item = GetTodoItem();
@@ -88,16 +98,6 @@ namespace MVPtoMVVM.mvp.presenters
}
}
- private void UpdateControlState()
- {
- view.SaveButtonEnabled = IsDirty && IsDescriptionValid() && IsDueDateValid();
- view.DescriptionHasValidationErrors = !IsDescriptionValid();
- view.DescriptionValidationMessage = GetDescriptionValidationMessage();
- view.DueDateHasValidationErrors = !IsDueDateValid();
- view.DueDateValidationMessage = GetDueDateValidationMessage();
- view.IsDueSoon = IsDueSoon();
- }
-
private bool IsDescriptionValid()
{
return description.Length > 0;