Example #1
0
        private async Task <CellPassesResult> GetTRexCellPasses(CellPassesRequest request)
        {
            var overrides    = AutoMapperUtility.Automapper.Map <OverridingTargets>(request.liftBuildSettings);
            var liftSettings = AutoMapperUtility.Automapper.Map <LiftSettings>(request.liftBuildSettings);
            CellPassesTRexRequest tRexRequest;

            if (request.probePositionGrid != null)
            {
                tRexRequest = new CellPassesTRexRequest(request.ProjectUid.Value,
                                                        request.probePositionGrid,
                                                        request.filter,
                                                        overrides,
                                                        liftSettings);
            }
            else
            {
                tRexRequest = new CellPassesTRexRequest(request.ProjectUid.Value,
                                                        request.probePositionLL,
                                                        request.filter,
                                                        overrides,
                                                        liftSettings);
            }

            var trexResult = await trexCompactionDataProxy.SendDataPostRequest <CellPassesV2Result, CellPassesTRexRequest>(tRexRequest, "/cells/passes", customHeaders);

            if (trexResult != null)
            {
                return(ConvertTRexResult(trexResult));
            }

            return(null);
        }
Example #2
0
        public void CellPassesRequest_ValidateSuccess()
        {
            var req = new CellPassesTRexRequest(Guid.NewGuid(), new Point(123.456, 987.654), null, null, null);

            req.Validate();

            var req2 = new CellPassesTRexRequest(Guid.NewGuid(), new WGSPoint(0.01, 0.01), null, null, null);

            req2.Validate();
        }
Example #3
0
        public Task <ContractExecutionResult> PostCellPasses([FromBody] CellPassesTRexRequest cellPassesRequest)
        {
            Log.LogInformation($"{nameof(PostCellPasses)}: {JsonConvert.SerializeObject(cellPassesRequest)}");

            cellPassesRequest.Validate();

            return(WithServiceExceptionTryExecuteAsync(() =>
                                                       RequestExecutorContainer
                                                       .Build <CellPassesExecutor>(ConfigStore, LoggerFactory, ServiceExceptionHandler)
                                                       .ProcessAsync(cellPassesRequest)));
        }
Example #4
0
        public async Task Test_CellPassesRequest_ContractResponseMapping()
        {
            const int expectedCount = 15;

            AddApplicationGridRouting();
            AddClusterComputeGridRouting();

            var baseTime  = DateTime.UtcNow;
            var siteModel = BuildTestSiteModel(baseTime, count: expectedCount);

            var executor = new CellPassesExecutor();
            var coords   = new Point(0.1, 0.1);

            var request = new CellPassesTRexRequest(siteModel.ID, coords, null, null, null);

            var response = await executor.ProcessAsync(request) as CellPassesV2Result;

            response.Should().NotBeNull();
            response?.Code.Should().Be((int)CellPassesReturnCode.DataFound);
            response?.Layers.Length.Should().Be(1);
            response?.Layers[0].PassData.Length.Should().Be(expectedCount);

            for (var idx = 0; idx < expectedCount; idx++)
            {
                var mockModifier   = idx + 1;
                var expectedTime   = baseTime.AddMinutes(mockModifier);
                var expectedHeight = 1.0f + mockModifier * 0.5f;
                var expectedCcv    = (short)(10 + 10 * mockModifier);
                var expectedMdp    = (short)(20 + 20 * mockModifier);

                var cellPass = response.Layers[0].PassData[idx];
                cellPass.FilteredPass.Time.Should().Be(expectedTime);
                cellPass.FilteredPass.Height.Should().Be(expectedHeight);
                cellPass.FilteredPass.Ccv.Should().Be(expectedCcv);
                cellPass.FilteredPass.Mdp.Should().Be(expectedMdp);
            }
        }
Example #5
0
        public void CellPassesRequest_ValidateMissingPoint()
        {
            var req = new CellPassesTRexRequest(Guid.NewGuid(), (Point)null, null, null, null);

            Assert.Throws <ServiceException>(() => req.Validate());
        }
Example #6
0
        public void CellPassesRequest_ValidateMissingProjectUid()
        {
            var req = new CellPassesTRexRequest(Guid.Empty, new Point(123.456, 987.654), null, null, null);

            Assert.Throws <ServiceException>(() => req.Validate());
        }