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);
		}