Commit 2856b73
Changed files (4)
src
MVPtoMVVM
domain
repositories
MVPtoMVVM.mvp
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; }
}
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
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
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>