public TodoRepository Repository { get; set; } //Injected by IOC public object Get(Todo request) { if (request.Id == default(long)) return Repository.GetAll(); return Repository.GetById(request.Id); }
public Todo Store(Todo todo) { if (todo.Id == default(long)) { todo.Id = todos.Count == 0 ? 1 : todos.Max(x => x.Id) + 1; } else { for (var i = 0; i < todos.Count; i++) { if (todos[i].Id != todo.Id) continue; todos[i] = todo; return todo; } } todos.Add(todo); return todo; }
public void Delete(Todo request) { Repository.DeleteById(request.Id); }
//Called for new and update public object Post(Todo todo) { return Repository.Store(todo); }