summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Lepp <jlepp@arcresources.com>2010-10-19 14:50:41 -0600
committerJason Lepp <jlepp@arcresources.com>2010-10-19 14:50:41 -0600
commit5d4fcd1e2dfd8b673b7bc4af43cab770d2b622a3 (patch)
tree6dfdf335afce23aa978f53fa8645a50c070cee0b
parentb0799fe494875d76c0b15c9c0a46f1f8a2619531 (diff)
Add IsDirty again
-rw-r--r--src/MVPtoMVVM.mvvm/viewmodels/MainWindowViewModel.cs3
-rw-r--r--src/MVPtoMVVM.mvvm/viewmodels/ToDoItemViewModel.cs11
2 files changed, 9 insertions, 5 deletions
diff --git a/src/MVPtoMVVM.mvvm/viewmodels/MainWindowViewModel.cs b/src/MVPtoMVVM.mvvm/viewmodels/MainWindowViewModel.cs
index af413eb..e05d305 100644
--- a/src/MVPtoMVVM.mvvm/viewmodels/MainWindowViewModel.cs
+++ b/src/MVPtoMVVM.mvvm/viewmodels/MainWindowViewModel.cs
@@ -40,7 +40,7 @@ namespace MVPtoMVVM.mvvm.viewmodels
private void AddNewItem()
{
- TodoItems.Add(new TodoItemViewModel(todoItemRepository){Parent = this, DueDate = DateTime.Today, Description = string.Empty});
+ TodoItems.Add(new TodoItemViewModel(todoItemRepository){Parent = this, DueDate = DateTime.Today, Description = string.Empty, IsDirty = false});
}
private TodoItemViewModel MapFrom(TodoItem item)
@@ -51,6 +51,7 @@ namespace MVPtoMVVM.mvvm.viewmodels
Description = item.Description,
DueDate = item.DueDate,
Parent = this,
+ IsDirty = false,
};
}
diff --git a/src/MVPtoMVVM.mvvm/viewmodels/ToDoItemViewModel.cs b/src/MVPtoMVVM.mvvm/viewmodels/ToDoItemViewModel.cs
index a33b9b4..cfe1ae8 100644
--- a/src/MVPtoMVVM.mvvm/viewmodels/ToDoItemViewModel.cs
+++ b/src/MVPtoMVVM.mvvm/viewmodels/ToDoItemViewModel.cs
@@ -16,6 +16,8 @@ namespace MVPtoMVVM.mvvm.viewmodels
public IObservableCommand SaveCommand { get; set; }
public IObservableCommand DeleteCommand { get; set; }
public MainWindowViewModel Parent { get; set; }
+ private IDictionary<string, IValidation> validations;
+ public bool IsDirty { get; set; }
public TodoItemViewModel(ITodoItemRepository todoItemRepository)
{
@@ -38,7 +40,7 @@ namespace MVPtoMVVM.mvvm.viewmodels
private bool CanSave()
{
- return validations.Values.All(x => x.IsValid);
+ return validations.Values.All(x => x.IsValid) && IsDirty;
}
private void Save()
@@ -47,6 +49,7 @@ namespace MVPtoMVVM.mvvm.viewmodels
todoItem.DueDate = DueDate;
todoItem.Description = Description;
todoItemRepository.Save(todoItem);
+ IsDirty = false;
}
private string description;
@@ -56,20 +59,20 @@ namespace MVPtoMVVM.mvvm.viewmodels
set
{
description = value;
+ IsDirty = true;
synchronizer.Update(x => x.Description);
SaveCommand.Changed();
}
}
private DateTime dueDate;
- private IDictionary<string, IValidation> validations;
-
public DateTime DueDate
{
get { return dueDate; }
set
{
- dueDate = value;
+ dueDate = value;
+ IsDirty = true;
synchronizer.Update(x => x.DueDate);
synchronizer.Update(x => x.ShowDueSoonAlert);
SaveCommand.Changed();