コード例 #1
0
 public MaterialInformationQuery(IMaterialInformationRepository repository)
 {
     FieldAsync <ListMaterialInformationQueryModelType>(
         "search",
         arguments: new QueryArguments(
             new QueryArgument <NonNullGraphType <PagedRequestType> > {
         Name = "pagination"
     },
             new QueryArgument <NonNullGraphType <OrderedRequestType> > {
         Name = "ordering"
     },
             new QueryArgument <MaterialInformationFilterRequestType> {
         Name = "filter", DefaultValue = new MaterialFilter()
     }
             ),
         resolve: async context =>
     {
         var filtering    = context.GetArgument <MaterialInformationFilter>("filter");
         var pagination   = context.GetArgument <PagedRequest>("pagination");
         var ordering     = context.GetArgument <OrderedRequest>("ordering");
         var(count, info) = await repository.SearchAsync(filtering, pagination, ordering);
         return(new ListResult <MaterialInformation>
         {
             TotalCount = count,
             Items = info
         });
     }
         );
 }
コード例 #2
0
 public MaterialInformationMutation(IMaterialInformationRepository repository)
 {
     FieldAsync <MaterialInformationQueryType>(
         "addMaterialInfo",
         arguments: new QueryArguments(new QueryArgument <NonNullGraphType <MaterialInformationCreateViewModel> >
     {
         Name = "materialInfo"
     }),
         resolve: async context =>
     {
         var material = context.GetArgument <MaterialInformation>("materialInfo");
         return(await context.TryAsyncResolve(async _ => await repository.AddMaterialInfo(material)));
     }
         );
 }