コード例 #1
0
        public async Task Test_CellDatumRequest_ApplicationService_Execute_SingleCellSiteModel_LLH()
        {
            AddApplicationGridRouting();
            AddClusterComputeGridRouting();
            AddDesignProfilerGridRouting();

            var baseTime  = DateTime.UtcNow;
            var siteModel = BuildModelForSingleCellDatum(baseTime);

            DITAGFileAndSubGridRequestsWithIgniteFixture.AddCSIBToSiteModel(ref siteModel, TestCommonConsts.DIMENSIONS_2012_DC_CSIB);
            siteModel.CSIB().Should().Be(TestCommonConsts.DIMENSIONS_2012_DC_CSIB);

            var arg = CreateCellDatumRequestArgument_ApplicationService(siteModel, new DesignOffset(), DisplayMode.Height, new OverrideParameters());

            arg.Point         = DIContext.Obtain <ICoreXWrapper>().NEEToLLH(siteModel.CSIB(), arg.Point.ToCoreX_XYZ()).ToTRex_XYZ();
            arg.CoordsAreGrid = false;

            var request  = new CellDatumRequest_ApplicationService();
            var response = await request.ExecuteAsync(arg);

            response.Should().NotBeNull();
            Assert.Equal(CellDatumReturnCode.ValueFound, response.ReturnCode);
            Assert.Equal(6.0, response.Value);
            Assert.Equal(baseTime.AddMinutes(10), response.TimeStampUTC);
        }
コード例 #2
0
        protected override async Task <ContractExecutionResult> ProcessAsyncEx <T>(T item)
        {
            var request = item as CellDatumTRexRequest;

            if (request == null)
            {
                ThrowRequestTypeCastException <CellDatumTRexRequest>();
            }

            var siteModel = GetSiteModel(request?.ProjectUid);

            var filter           = ConvertFilter(request?.Filter, siteModel);
            var cellDatumRequest = new CellDatumRequest_ApplicationService();

            var response = await cellDatumRequest.ExecuteAsync(new CellDatumRequestArgument_ApplicationService
            {
                ProjectID       = siteModel.ID,
                Filters         = new FilterSet(filter),
                Mode            = request.DisplayMode,
                CoordsAreGrid   = request.CoordsAreGrid,
                Point           = request.CoordsAreGrid ? AutoMapperUtility.Automapper.Map <XYZ>(request.GridPoint) : AutoMapperUtility.Automapper.Map <XYZ>(request.LLPoint),
                ReferenceDesign = new DesignOffset(request.DesignUid ?? Guid.Empty, request.Offset ?? 0),
                Overrides       = AutoMapperUtility.Automapper.Map <OverrideParameters>(request.Overrides),
                LiftParams      = ConvertLift(request.LiftSettings, request.Filter?.LayerType)
            });

            return(new CompactionCellDatumResult(response.DisplayMode, response.ReturnCode, response.Value, response.TimeStampUTC, response.Northing, response.Easting));
        }
コード例 #3
0
        public async Task <JsonResult> GetCellDatum(
            [FromQuery] Guid projectUid,
            [FromQuery] Guid?designUid,
            [FromQuery] double?offset,
            [FromQuery] int displayMode,
            [FromQuery] double x,
            [FromQuery] double y)
        {
            var cellDatumRequest = new CellDatumRequest_ApplicationService();
            var response         = await cellDatumRequest.ExecuteAsync(new CellDatumRequestArgument_ApplicationService
            {
                ProjectID       = projectUid,
                Filters         = new FilterSet(new CombinedFilter()),
                Mode            = (DisplayMode)displayMode,
                CoordsAreGrid   = true,
                Point           = new XYZ(x, y),
                ReferenceDesign = new DesignOffset(designUid ?? Guid.Empty, offset ?? 0)
            });

            var result = new
            {
                displayMode = response.DisplayMode,
                returnCode  = response.ReturnCode,
                value       = response.Value,
                timestamp   = response.TimeStampUTC,
                northing    = response.Northing,
                easting     = response.Easting
            };

            return(new JsonResult(result));
        }
コード例 #4
0
        public async Task Test_CellDatumRequest_ApplicationService_Execute_EmptySiteModel()
        {
            AddApplicationGridRouting();
            AddClusterComputeGridRouting();

            var siteModel = DITAGFileAndSubGridRequestsWithIgniteFixture.NewEmptyModel();
            var request   = new CellDatumRequest_ApplicationService();
            var response  = await request.ExecuteAsync(CreateCellDatumRequestArgument_ApplicationService(siteModel, new DesignOffset(), DisplayMode.Height, new OverrideParameters()));

            response.Should().NotBeNull();
            Assert.Equal(CellDatumReturnCode.NoValueFound, response.ReturnCode);
        }
コード例 #5
0
        public async Task Test_CellDatumRequest_ApplicationService_Execute_SingleCellSiteModel_Outside()
        {
            AddApplicationGridRouting();
            AddClusterComputeGridRouting();
            AddDesignProfilerGridRouting();

            var baseTime  = DateTime.UtcNow;
            var siteModel = BuildModelForSingleCellDatum(baseTime);

            var arg = CreateCellDatumRequestArgument_ApplicationService(siteModel, new DesignOffset(), DisplayMode.Height, new OverrideParameters());

            arg.Point = new XYZ(123456, 123456);

            var request  = new CellDatumRequest_ApplicationService();
            var response = await request.ExecuteAsync(arg);

            response.Should().NotBeNull();
            Assert.Equal(CellDatumReturnCode.NoValueFound, response.ReturnCode);
        }
コード例 #6
0
        [InlineData(DisplayMode.CutFill, 3.5)]//1.5 offset from 5
        public async Task Test_CellDatumRequest_ApplicationService_Execute_SingleCellSiteModelLastPass(DisplayMode mode, double expectedValue)
        {
            AddApplicationGridRouting();
            AddClusterComputeGridRouting();
            AddDesignProfilerGridRouting();

            var baseTime        = DateTime.UtcNow;
            var siteModel       = BuildModelForSingleCellDatum(baseTime);
            var designUid       = DITAGFileAndSubGridRequestsWithIgniteFixture.ConstructSingleFlatTriangleDesignAboutOrigin(ref siteModel, 1.0f);
            var referenceDesign = new DesignOffset(designUid, 1.5);
            //Just do one override to test it's hooked up. The rest are tested in the cluster compute tests
            var overrides = new OverrideParameters
            {
                OverrideMachineCCV   = true,
                OverridingMachineCCV = 440
            };
            var request  = new CellDatumRequest_ApplicationService();
            var response = await request.ExecuteAsync(CreateCellDatumRequestArgument_ApplicationService(siteModel, referenceDesign, mode, overrides));

            response.Should().NotBeNull();
            Assert.Equal(CellDatumReturnCode.ValueFound, response.ReturnCode);
            Assert.Equal(expectedValue, response.Value);
            Assert.Equal(baseTime.AddMinutes(10), response.TimeStampUTC);
        }
コード例 #7
0
        public void Test_CellDatumRequest_ApplicationService_Creation()
        {
            var request = new CellDatumRequest_ApplicationService();

            request.Should().NotBeNull();
        }