summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Lepp <jlepp@arcresources.com>2010-10-15 13:27:22 -0600
committerJason Lepp <jlepp@arcresources.com>2010-10-15 13:27:22 -0600
commit2856b73e4cf4ddea7469c096c384ed4f8c8f966d (patch)
tree7a08e4148d476bb4c0faf8462f2351773ccb392b
parenteca7f7df8d6c50f8a89ef6afbeec96b70bff5725 (diff)
Update the repository
-rwxr-xr-xsrc/MVPtoMVVM.mvp/TodoItemView.xaml2
-rwxr-xr-xsrc/MVPtoMVVM/domain/TodoItem.cs1
-rwxr-xr-xsrc/MVPtoMVVM/repositories/ITodoItemRepository.cs2
-rwxr-xr-xsrc/MVPtoMVVM/repositories/TodoItemRepository.cs27
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