Exemplo n.º 1
0
 public RoomJobQueries(IRoomJobRepository repository)
 {
     FieldAsync <ListRoomJobQueryModelType>(
         "search",
         arguments: new QueryArguments(
             new QueryArgument <NonNullGraphType <PagedRequestType> > {
         Name = "pagination"
     },
             new QueryArgument <NonNullGraphType <OrderedRequestType> > {
         Name = "ordering"
     },
             new QueryArgument <RoomJobFilteredRequestType> {
         Name = "filter", DefaultValue = new RoomJobFilter()
     }
             ),
         resolve: async context =>
     {
         var filtering         = context.GetArgument <RoomJobFilter>("filter");
         var pagination        = context.GetArgument <PagedRequest>("pagination");
         var ordering          = context.GetArgument <OrderedRequest>("ordering");
         var(count, roomsJobs) = await repository.SearchAsync(filtering, pagination, ordering);
         return(new ListResult <RoomJob>
         {
             TotalCount = count,
             Items = roomsJobs
         });
     }
         );
 }
 public RoomJobMutation(IRoomJobRepository repository)
 {
     FieldAsync <RoomJobQueryType>(
         "addJob",
         arguments: new QueryArguments(new QueryArgument <NonNullGraphType <RoomJobCreateViewModel> >
     {
         Name = "job"
     }),
         resolve: async context =>
     {
         var job = context.GetArgument <RoomJob>("job");
         return(await context.TryAsyncResolve(async _ => await repository.AddJob(job)));
     }
         );
 }