public TodoMutation() : base() { //Mutation<AddTodoInput, AddTodoPayload>("addTodo"); //Mutation<ChangeTodoStatusInput, ChangeTodoStatusPayload>("changeTodoStatus"); //Mutation<MarkAllTodosInput, MarkAllTodosPayload>("markAllTodos"); //Mutation<RemoveCompletedTodosInput, RemoveCompletedTodosPayload>("removeCompletedTodos"); //Mutation<RemoveTodoInput, RemoveTodoPayload>("removeTodo"); //Mutation<RenameTodoInput, RenameTodoPayload>("renameTodo"); Field( name: "addTodo", type: typeof(TodoGraphType), arguments: new QueryArguments( new QueryArgument <NonNullGraphType <StringGraphType> > { Name = "text" } ), resolve: c => { var text = c.GetArgument <string>("text"); var todo = Database.AddTodo(text); return(new { TodoEdge = new Edge <Todo> { Node = todo, Cursor = ConnectionUtils.CursorForObjectInConnection(Database.GetTodos(), todo) }, Viewer = Database.GetViewer(), }); } ); }
public override object MutateAndGetPayload( MutationInputs inputs, ResolveFieldContext <object> context ) { var todo = Database.AddTodo(inputs.Get <string>("text")); return(new { TodoEdge = new Edge <Todo> { Node = todo, Cursor = ConnectionUtils.CursorForObjectInConnection(Database.GetTodos(), todo) }, Viewer = Database.GetViewer(), }); }