Esempio 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());
        }
Esempio n. 2
0
        public async void GetAll_ShouldReturnData()
        {
            //Arrange
            var _dbContext = _dbContextFactory.BuildDbContext();
            var sut        = new WaterMeasurementRepository(_dbContext);

            var expected = _dbContext.WaterMeasurement;

            //Act
            var actual = await sut.GetAll();

            //Assert
            actual.Should().Equal(expected);
        }
        public WaterMeasurementLocationType(WaterMeasurementRepository waterMeasurementRepository, WaterMeasurementRawRepository waterMeasurementRawRepository, IDataLoaderContextAccessor dataLoaderAccessor)
        {
            Field(t => t.Id);
            Field(t => t.Name);
            Field <ListGraphType <WaterMeasurementType> >(
                "waterMeasurements",
                resolve: context =>
            {
                var loader = dataLoaderAccessor.Context.GetOrAddCollectionBatchLoader <int, WaterMeasurement>(
                    "GetByWaterMeasurementLocationId", waterMeasurementRepository.GetByWaterMeasurementLocationId);
                return(loader.LoadAsync(context.Source.Id));
            });

            Field <ListGraphType <WaterMeasurementRawType> >(
                "rawWaterMeasurements",
                resolve: context =>
            {
                var loader = dataLoaderAccessor.Context.GetOrAddCollectionBatchLoader <int, WaterMeasurementRaw>(
                    "GetByWaterMeasurementLocationId", waterMeasurementRawRepository.GetByWaterMeasurementLocationId);
                return(loader.LoadAsync(context.Source.Id));
            });
        }