Ejemplo n.º 1
0
        public LohiQuery(
            WaterLevelLocationRepository waterLevelLocationRepository,
            WaterLevelRepository waterLevelRepository,
            WaterMeasurementLocationRepository waterLevelMeasurementRepository,
            WaterMeasurementRepository waterMeasurementRepository,
            WaterMeasurementRawRepository waterMeasurementRawRepository
            )
        {
            Field <WaterLevelLocationType>(
                "WaterLevelLocation",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IdGraphType> >
            {
                Name = "id"
            }),
                resolve: context =>
            {
                var id = context.GetArgument <int>("id");
                return(waterLevelLocationRepository.GetOneById(id));
            }
                );
            Field <ListGraphType <WaterLevelLocationType> >(
                "WaterLevelLocations",
                resolve: context => waterLevelLocationRepository.GetAll());

            Field <ListGraphType <WaterLevelType> >(
                "WaterLevels",
                resolve: context => waterLevelRepository.GetAll());


            Field <WaterMeasurementLocationType>(
                "WaterMeasurementLocation",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IdGraphType> >
            {
                Name = "id"
            }),
                resolve: context =>
            {
                var id = context.GetArgument <int>("id");
                return(waterLevelMeasurementRepository.GetOneById(id));
            }
                );
            Field <ListGraphType <WaterMeasurementLocationType> >(
                "WaterMeasurementLocations",
                resolve: context => waterLevelMeasurementRepository.GetAll());

            Field <ListGraphType <WaterMeasurementType> >(
                "WaterMeasurements",
                resolve: context => waterMeasurementRepository.GetAll());

            Field <ListGraphType <WaterMeasurementRawType> >(
                "RawWaterMeasurements",
                resolve: context => waterMeasurementRawRepository.GetAll());
        }
 public WaterLevelLocationType(WaterLevelRepository waterLevelRepository, IDataLoaderContextAccessor dataLoaderAccessor)
 {
     Field(t => t.Id);
     Field(t => t.Name);
     Field <ListGraphType <WaterLevelType> >(
         "waterLevels",
         resolve: context =>
     {
         var loader = dataLoaderAccessor.Context.GetOrAddCollectionBatchLoader <int, WaterLevel>(
             "GetByWaterLevelLocationId", waterLevelRepository.GetByWaterLevelLocationId);
         return(loader.LoadAsync(context.Source.Id));
     });
 }