示例#1
0
        static TodoManager DeleteTodo(TodoManager state, DeleteTodoAction action)
        {
            var newTodos = state.Todos.Where(t => t.Id != action.TodoId).ToList();

            return(new TodoManager()
            {
                Todos = newTodos,
            });
        }
示例#2
0
        static TodoManager AddTodo(TodoManager state, AddTodoAction action)
        {
            var newTodos = new List <Todo>(state.Todos);

            newTodos.Add(new Todo()
            {
                Text = action.Todo
            });
            return(new TodoManager()
            {
                Todos = newTodos,
            });
        }
示例#3
0
        static TodoManager CompleteTodo(TodoManager state, CompleteTodoAction action)
        {
            var newTodos = state.Todos.Select(t => new Todo
            {
                Id        = t.Id,
                Text      = t.Text,
                Completed = t.Id == action.TodoId ? !t.Completed : t.Completed,
            }).ToList();

            return(new TodoManager()
            {
                Todos = newTodos,
            });
        }