Example #1
0
        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(),
                });
            }
                );
        }
Example #2
0
        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(),
            });
        }