diff options
| author | Jason Lepp <jlepp@arcresources.com> | 2010-10-19 14:50:41 -0600 |
|---|---|---|
| committer | Jason Lepp <jlepp@arcresources.com> | 2010-10-19 14:50:41 -0600 |
| commit | 5d4fcd1e2dfd8b673b7bc4af43cab770d2b622a3 (patch) | |
| tree | 6dfdf335afce23aa978f53fa8645a50c070cee0b /src | |
| parent | b0799fe494875d76c0b15c9c0a46f1f8a2619531 (diff) | |
Add IsDirty again
Diffstat (limited to 'src')
| -rw-r--r-- | src/MVPtoMVVM.mvvm/viewmodels/MainWindowViewModel.cs | 3 | ||||
| -rw-r--r-- | src/MVPtoMVVM.mvvm/viewmodels/ToDoItemViewModel.cs | 11 |
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();
|
