diff options
| author | Jason Lepp <jlepp@arcresources.com> | 2010-10-15 13:27:22 -0600 |
|---|---|---|
| committer | Jason Lepp <jlepp@arcresources.com> | 2010-10-15 13:27:22 -0600 |
| commit | 2856b73e4cf4ddea7469c096c384ed4f8c8f966d (patch) | |
| tree | 7a08e4148d476bb4c0faf8462f2351773ccb392b | |
| parent | eca7f7df8d6c50f8a89ef6afbeec96b70bff5725 (diff) | |
Update the repository
| -rwxr-xr-x | src/MVPtoMVVM.mvp/TodoItemView.xaml | 2 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/domain/TodoItem.cs | 1 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/repositories/ITodoItemRepository.cs | 2 | ||||
| -rwxr-xr-x | src/MVPtoMVVM/repositories/TodoItemRepository.cs | 27 |
4 files changed, 27 insertions, 5 deletions
diff --git a/src/MVPtoMVVM.mvp/TodoItemView.xaml b/src/MVPtoMVVM.mvp/TodoItemView.xaml index 9cc8b6d..81e8f53 100755 --- a/src/MVPtoMVVM.mvp/TodoItemView.xaml +++ b/src/MVPtoMVVM.mvp/TodoItemView.xaml @@ -7,5 +7,7 @@ <StackPanel Orientation="Horizontal">
<TextBox Name="description" Width="200"/>
<DatePicker Name="dueDate" />
+ <Button Content="Save" Name="saveButton"></Button>
+ <Button Content="Del" Name="deleteButton"></Button>
</StackPanel>
</UserControl>
diff --git a/src/MVPtoMVVM/domain/TodoItem.cs b/src/MVPtoMVVM/domain/TodoItem.cs index 0170b98..b9596a4 100755 --- a/src/MVPtoMVVM/domain/TodoItem.cs +++ b/src/MVPtoMVVM/domain/TodoItem.cs @@ -4,6 +4,7 @@ namespace MVPtoMVVM.domain {
public class TodoItem
{
+ public int Id { get; set; }
public string Description { get; set; }
public DateTime DueDate { get; set; }
}
diff --git a/src/MVPtoMVVM/repositories/ITodoItemRepository.cs b/src/MVPtoMVVM/repositories/ITodoItemRepository.cs index 3593a02..367799b 100755 --- a/src/MVPtoMVVM/repositories/ITodoItemRepository.cs +++ b/src/MVPtoMVVM/repositories/ITodoItemRepository.cs @@ -6,7 +6,7 @@ namespace MVPtoMVVM.repositories public interface ITodoItemRepository
{
void Add(TodoItem item);
- TodoItem Get(string description);
+ TodoItem Get(int id);
IEnumerable<TodoItem> GetAll();
}
}
\ No newline at end of file diff --git a/src/MVPtoMVVM/repositories/TodoItemRepository.cs b/src/MVPtoMVVM/repositories/TodoItemRepository.cs index 6029ad4..3b44556 100755 --- a/src/MVPtoMVVM/repositories/TodoItemRepository.cs +++ b/src/MVPtoMVVM/repositories/TodoItemRepository.cs @@ -8,26 +8,45 @@ namespace MVPtoMVVM.repositories public class TodoItemRepository : ITodoItemRepository
{
private List<TodoItem> items;
+ private int totalItems = 0;
public TodoItemRepository()
{
items = new List<TodoItem>();
- items.Add(new TodoItem {Description = "First One", DueDate = DateTime.Today});
+ Add(new TodoItem {Description = "First One", DueDate = DateTime.Today});
}
public void Add(TodoItem item)
{
- items.Add(item);
+ if (item.Id == 0)
+ AddItem(item);
+ else
+ {
+ UpdateItem(item);
+ }
}
- public TodoItem Get(string description)
+ public TodoItem Get(int id)
{
- return items.FirstOrDefault(x => x.Description == description);
+ return items.FirstOrDefault(x => x.Id == id);
}
public IEnumerable<TodoItem> GetAll()
{
return items.AsEnumerable();
}
+ private void UpdateItem(TodoItem item)
+ {
+ items.Remove(items.Single(x => x.Id == item.Id));
+ items.Add(item);
+ }
+
+ private void AddItem(TodoItem item)
+ {
+ totalItems++;
+ item.Id = totalItems;
+ items.Add(item);
+ }
+
}
}
\ No newline at end of file |
