public static TodoState AddTodo(TodoState state, string text) { state.List.Add(new Todo( id: state.Index, text: text )); state.Index = state.Index + 1; state.SetStateChanged(); return state; }
public static TodoState ToggleTodo(TodoState state, Todo newTodo) { var list = state.List.Select(_todo => (_todo.Id == newTodo.Id) ? new Todo( id: _todo.Id, text: _todo.Text, completed: newTodo.Completed ) : _todo ) .ToList(); state.List = list; state.SetStateChanged(); return state; }