public void Test_GriddedReportRequestArgument_WithContent() { var request = new GriddedReportRequestArgument() { ProjectID = Guid.NewGuid(), Filters = new FilterSet(new CombinedFilter()), ReferenceDesign = new DesignOffset(Guid.NewGuid(), 1.5), ReportElevation = true, ReportCmv = true, ReportMdp = true, ReportPassCount = true, ReportTemperature = true, ReportCutFill = false, GridInterval = 1.5, GridReportOption = GridReportOption.Direction, StartNorthing = 808000, StartEasting = 400000, EndNorthing = 809000, EndEasting = 400100, Azimuth = 4.6, Overrides = new OverrideParameters { OverrideMachineCCV = true, OverridingMachineCCV = 45 } }; SimpleBinarizableInstanceTester.TestClass(request, "Empty GriddedReportRequestArgument not same after round trip serialisation"); }
/// <summary> /// Constructor for the renderer accepting all parameters necessary for its operation /// </summary> public GriddedReportComputeFuncExecutor(GriddedReportRequestArgument arg) { _griddedReportRequestArgument = arg; if (arg != null) { _siteModel = DIContext.Obtain <ISiteModels>().GetSiteModel(arg.ProjectID); } }
public void Test_GriddedReportRequestArgument_Empty() { var request = new GriddedReportRequestArgument() { }; SimpleBinarizableInstanceTester.TestClass(request, "Empty GriddedReportRequestArgument not same after round trip serialisation"); }
private List <GriddedReportDataRow> ExtractRequiredValues(GriddedReportRequestArgument griddedReportRequestArgument, ClientCellProfileLeafSubgrid subGrid) { var result = new List <GriddedReportDataRow>(); (IClientHeightLeafSubGrid designHeights, DesignProfilerRequestResult errorCode)getDesignHeightsResult = (null, DesignProfilerRequestResult.UnknownError); if (_griddedReportRequestArgument.ReferenceDesign != null && _griddedReportRequestArgument.ReferenceDesign.DesignID != Guid.Empty) { var cutFillDesign = _siteModel.Designs.Locate(_griddedReportRequestArgument.ReferenceDesign.DesignID); if (cutFillDesign == null) { throw new ArgumentException($"Design {_griddedReportRequestArgument.ReferenceDesign.DesignID} not a recognized design in project {_griddedReportRequestArgument.ProjectID}"); } getDesignHeightsResult = cutFillDesign.GetDesignHeightsViaLocalCompute(_siteModel, _griddedReportRequestArgument.ReferenceDesign.Offset, subGrid.OriginAsCellAddress(), subGrid.CellSize); if (getDesignHeightsResult.errorCode != DesignProfilerRequestResult.OK || getDesignHeightsResult.designHeights == null) { string errorMessage; if (getDesignHeightsResult.errorCode == DesignProfilerRequestResult.NoElevationsInRequestedPatch) { errorMessage = "Gridded Report. Call to RequestDesignElevationPatch failed due to no elevations in requested patch."; Log.LogInformation(errorMessage); } else { errorMessage = $"Gridded Report. Call to RequestDesignElevationPatch failed due to no TDesignProfilerRequestResult return code {getDesignHeightsResult.errorCode}."; Log.LogWarning(errorMessage); } } } subGrid.CalculateWorldOrigin(out double subGridWorldOriginX, out double subGridWorldOriginY); SubGridUtilities.SubGridDimensionalIterator((x, y) => { var cell = subGrid.Cells[x, y]; if (cell.PassCount == 0) // Nothing for us to do, as cell is not in our areaControlSet... { return; } result.Add(new GriddedReportDataRow { Easting = cell.CellXOffset + subGridWorldOriginX, Northing = cell.CellYOffset + subGridWorldOriginY, Elevation = griddedReportRequestArgument.ReportElevation ? cell.Height : Consts.NullHeight, CutFill = griddedReportRequestArgument.ReportCutFill && getDesignHeightsResult.designHeights != null && getDesignHeightsResult.designHeights.Cells[x, y] != Consts.NullHeight ? cell.Height - getDesignHeightsResult.designHeights.Cells[x, y] : Consts.NullHeight, // CCV is equiv to CMV in this instance Cmv = griddedReportRequestArgument.ReportCmv ? cell.LastPassValidCCV : CellPassConsts.NullCCV, Mdp = griddedReportRequestArgument.ReportMdp ? cell.LastPassValidMDP : CellPassConsts.NullMDP, PassCount = (short)(griddedReportRequestArgument.ReportPassCount ? cell.PassCount : CellPassConsts.NullPassCountValue), Temperature = (short)(griddedReportRequestArgument.ReportTemperature ? cell.LastPassValidTemperature : CellPassConsts.NullMaterialTemperatureValue) }); }); return(result); }