Ejemplo n.º 1
0
        public void MapGriddedRequestToArgument(
            Guid projectUid, FilterResult filter,
            bool reportElevation, bool reportCmv, bool reportMdp, bool reportPassCount, bool reportTemperature, bool reportCutFill,
            Guid?cutFillDesignUid, double?cutfillDesignOffset,
            double?gridInterval, GridReportOption gridReportOption,
            double startNorthing, double startEasting, double endNorthing, double endEasting, double azimuth, bool useOverrides)
        {
            var overrides = useOverrides
        ? new OverridingTargets(75, true, 70, 90, 0, false, 80, 125, new TargetPassCountRange(4, 10),
                                new TemperatureSettings(120, 70, true), null)
        : null;

            var liftSettings = useOverrides
        ? new LiftSettings(true, false, SummaryType.Compaction,
                           SummaryType.WorkInProgress, 0.2f, LiftDetectionType.AutoMapReset, LiftThicknessType.Compacted,
                           new LiftThicknessTarget {
                TargetLiftThickness = 0.75f, AboveToleranceLiftThickness = 0.3f, BelowToleranceLiftThickness = 0.2f
            },
                           true, 0.5f, true, 0.3, 0.7)
        : null;

            var request = new CompactionReportGridTRexRequest(
                projectUid, filter,
                reportElevation, reportCmv, reportMdp, reportPassCount, reportTemperature, reportCutFill,
                cutFillDesignUid, cutfillDesignOffset,
                gridInterval, gridReportOption, startNorthing, startEasting, endNorthing, endEasting, azimuth, overrides, liftSettings);

            var result = AutoMapperUtility.Automapper.Map <GriddedReportRequestArgument>(request);

            Assert.Equal(request.ProjectUid, result.ProjectID);
            Assert.Null(result.Filters);
            Assert.Equal(request.CutFillDesignUid ?? Guid.Empty, result.ReferenceDesign.DesignID);
            Assert.Equal(request.CutFillDesignOffset ?? 0, result.ReferenceDesign.Offset);
            Assert.Equal(request.ReportElevation, result.ReportElevation);
            Assert.Equal(request.ReportCutFill, result.ReportCutFill);
            Assert.Equal(request.ReportCmv, result.ReportCmv);
            Assert.Equal(request.ReportMdp, result.ReportMdp);
            Assert.Equal(request.ReportPassCount, result.ReportPassCount);
            Assert.Equal(request.ReportTemperature, result.ReportTemperature);
            //Overrides mapping tested separately in AutoMapperTests
            if (useOverrides)
            {
                Assert.NotNull(result.Overrides);
                Assert.NotNull(result.LiftParams);
            }
            else
            {
                Assert.Null(result.Overrides);
                Assert.Null(result.LiftParams);
            }
        }
Ejemplo n.º 2
0
        public void GriddedTRexRequest_Successful(
            Guid projectUid, FilterResult filter,
            bool reportElevation, bool reportCmv, bool reportMdp, bool reportPassCount, bool reportTemperature, bool reportCutFill,
            Guid?cutFillDesignUid, double?cutfillDesignOffset,
            double?gridInterval, GridReportOption gridReportOption,
            double startNorthing, double startEasting, double endNorthing, double endEasting, double azimuth)
        {
            var request = new CompactionReportGridTRexRequest(
                projectUid, filter,
                reportElevation, reportCmv, reportMdp, reportPassCount, reportTemperature, reportCutFill,
                cutFillDesignUid, cutfillDesignOffset,
                gridInterval, gridReportOption, startNorthing, startEasting, endNorthing, endEasting, azimuth, null, null);

            request.Validate();
        }
Ejemplo n.º 3
0
 public static CompactionReportGridRequest CreateCompactionReportGridRequest(
     long?projectId,
     Guid?projectUid,
     FilterResult filter,
     long filterId,
     LiftBuildSettings liftBuildSettings,
     bool reportElevation,
     bool reportCMV,
     bool reportMDP,
     bool reportPassCount,
     bool reportTemperature,
     bool reportCutFill,
     DesignDescriptor designFile,
     double?gridInterval,
     GridReportOption gridReportOption,
     double startNorthing,
     double startEasting,
     double endNorthing,
     double endEasting,
     double azimuth)
 {
     return(new CompactionReportGridRequest
     {
         ProjectId = projectId,
         ProjectUid = projectUid,
         Filter = filter,
         FilterID = filterId,
         LiftBuildSettings = liftBuildSettings,
         ReportElevation = reportElevation,
         ReportCMV = reportCMV,
         ReportMDP = reportMDP,
         ReportPassCount = reportPassCount,
         ReportTemperature = reportTemperature,
         ReportCutFill = reportCutFill,
         DesignFile = designFile,
         GridInterval = gridInterval ?? ValidationConstants3D.DEFAULT_SPACING_INTERVAL,
         GridReportOption = gridReportOption,
         StartNorthing = startNorthing,
         StartEasting = startEasting,
         EndNorthing = endNorthing,
         EndEasting = endEasting,
         Azimuth = azimuth
     });
 }
Ejemplo n.º 4
0
        public void GriddedTRexRequest_Unsuccessful(
            Guid projectUid, FilterResult filter,
            bool reportElevation, bool reportCmv, bool reportMdp, bool reportPassCount, bool reportTemperature, bool reportCutFill,
            Guid?cutFillDesignUid, double?cutfillDesignOffset,
            double?gridInterval, GridReportOption gridReportOption,
            double startNorthing, double startEasting, double endNorthing, double endEasting, double azimuth,
            string errorMessage)
        {
            var request = new CompactionReportGridTRexRequest(
                projectUid, filter,
                reportElevation, reportCmv, reportMdp, reportPassCount, reportTemperature, reportCutFill,
                cutFillDesignUid, cutfillDesignOffset,
                gridInterval, gridReportOption, startNorthing, startEasting, endNorthing, endEasting, azimuth, null, null);

            var ex = Assert.Throws <ServiceException>(() => request.Validate());

            Assert.Equal(HttpStatusCode.BadRequest, ex.Code);
            Assert.Equal(ContractExecutionStatesEnum.ValidationError, ex.GetResult.Code);
            Assert.Equal(errorMessage, ex.GetResult.Message);
        }
Ejemplo n.º 5
0
 public CompactionReportGridTRexRequest(
     Guid projectUid,
     FilterResult filter,
     bool reportElevation,
     bool reportCmv,
     bool reportMdp,
     bool reportPassCount,
     bool reportTemperature,
     bool reportCutFill,
     Guid?cutFillDesignUid,
     double?cutFillDesignOffset,
     double?gridInterval,
     GridReportOption gridReportOption,
     double startNorthing,
     double startEasting,
     double endNorthing,
     double endEasting,
     double azimuth,
     OverridingTargets overrides,
     LiftSettings liftSettings)
 {
     ProjectUid          = projectUid;
     Filter              = filter;
     ReportElevation     = reportElevation;
     ReportCmv           = reportCmv;
     ReportMdp           = reportMdp;
     ReportPassCount     = reportPassCount;
     ReportTemperature   = reportTemperature;
     ReportCutFill       = reportCutFill;
     CutFillDesignUid    = cutFillDesignUid;
     CutFillDesignOffset = cutFillDesignOffset;
     GridInterval        = gridInterval ?? ValidationConstants3D.DEFAULT_SPACING_INTERVAL;
     GridReportOption    = gridReportOption;
     StartNorthing       = startNorthing;
     StartEasting        = startEasting;
     EndNorthing         = endNorthing;
     EndEasting          = endEasting;
     Azimuth             = azimuth;
     Overrides           = overrides;
     LiftSettings        = liftSettings;
 }
Ejemplo n.º 6
0
        public CompactionReportGridRequest CreateCompactionReportGridRequest(
            bool reportElevation,
            bool reportCmv,
            bool reportMdp,
            bool reportPassCount,
            bool reportTemperature,
            bool reportCutFill,
            DesignDescriptor designFile,
            double?gridInerval,
            GridReportOption gridReportOption,
            double startNorthing,
            double startEasting,
            double endNorthing,
            double endEasting,
            double azimuth)
        {
            var liftBuildSettings = SettingsManager.CompactionLiftBuildSettings(ProjectSettings);

            return(CompactionReportGridRequest.CreateCompactionReportGridRequest(
                       ProjectId,
                       ProjectUid,
                       Filter,
                       Filter != null ? Filter.Id ?? -1 : -1,
                       liftBuildSettings,
                       reportElevation,
                       reportCmv,
                       reportMdp,
                       reportPassCount,
                       reportTemperature,
                       reportCutFill,
                       designFile,
                       gridInerval,
                       gridReportOption,
                       startNorthing,
                       startEasting,
                       endNorthing,
                       endEasting,
                       azimuth));
        }
Ejemplo n.º 7
0
        public void MapGriddedRequestToResult(
            Guid projectUid, FilterResult filter,
            bool reportElevation, bool reportCmv, bool reportMdp, bool reportPassCount, bool reportTemperature, bool reportCutFill,
            Guid?cutFillDesignUid, double?cutfillDesignOffset,
            double?gridInterval, GridReportOption gridReportOption,
            double startNorthing, double startEasting, double endNorthing, double endEasting, double azimuth)
        {
            var request = new CompactionReportGridTRexRequest(
                projectUid, filter,
                reportElevation, reportCmv, reportMdp, reportPassCount, reportTemperature, reportCutFill,
                cutFillDesignUid, cutfillDesignOffset,
                gridInterval, gridReportOption, startNorthing, startEasting, endNorthing, endEasting, azimuth, null, null);

            var result = AutoMapperUtility.Automapper.Map <GriddedReportData>(request);

            Assert.Equal(request.ReportElevation, result.ReportElevation);
            Assert.Equal(request.ReportCutFill, result.ReportCutFill);
            Assert.Equal(request.ReportCmv, result.ReportCmv);
            Assert.Equal(request.ReportMdp, result.ReportMdp);
            Assert.Equal(request.ReportPassCount, result.ReportPassCount);
            Assert.Equal(request.ReportTemperature, result.ReportTemperature);
            Assert.Equal(0, result.NumberOfRows);
            Assert.NotNull(result.Rows);
        }
Ejemplo n.º 8
0
        public async Task <CompactionReportResult> GetReportGrid(
            [FromQuery] Guid projectUid,
            [FromQuery] Guid?filterUid,
            [FromQuery] bool reportElevation,
            [FromQuery] bool reportCmv,
            [FromQuery] bool reportMdp,
            [FromQuery] bool reportPassCount,
            [FromQuery] bool reportTemperature,
            [FromQuery] bool reportCutFill,
            [FromQuery] Guid?cutfillDesignUid,
            [FromQuery] double?gridInterval,
            [FromQuery] GridReportOption gridReportOption,
            [FromQuery] double startNorthing,
            [FromQuery] double startEasting,
            [FromQuery] double endNorthing,
            [FromQuery] double endEasting,
            [FromQuery] double azimuth)
        {
            Log.LogInformation($"{nameof(GetReportGrid)}: " + Request.QueryString);

            var projectId       = GetLegacyProjectId(projectUid);
            var filter          = GetCompactionFilter(projectUid, filterUid);
            var cutFillDesign   = GetAndValidateDesignDescriptor(projectUid, cutfillDesignUid, OperationType.Profiling);
            var projectSettings = GetProjectSettingsTargets(projectUid);

            await Task.WhenAll(projectId, filter, cutFillDesign, projectSettings);

            var reportGridRequest = requestFactory.Create <CompactionReportGridRequestHelper>(r => r
                                                                                              .ProjectUid(projectUid)
                                                                                              .ProjectId(projectId.Result)
                                                                                              .Headers(CustomHeaders)
                                                                                              .ProjectSettings(projectSettings.Result)
                                                                                              .Filter(filter.Result))
                                    .CreateCompactionReportGridRequest(
                reportElevation,
                reportCmv,
                reportMdp,
                reportPassCount,
                reportTemperature,
                reportCutFill,
                cutFillDesign.Result,
                gridInterval,
                gridReportOption,
                startNorthing,
                startEasting,
                endNorthing,
                endEasting,
                azimuth
                );

            reportGridRequest.Validate();

            return(await WithServiceExceptionTryExecuteAsync(() => RequestExecutorContainerFactory.Build <CompactionReportGridExecutor>(LoggerFactory,
#if RAPTOR
                                                                                                                                        RaptorClient,
#endif
                                                                                                                                        configStore : ConfigStore,
                                                                                                                                        trexCompactionDataProxy : TRexCompactionDataProxy,
                                                                                                                                        userId : GetUserId(),
                                                                                                                                        fileImportProxy : FileImportProxy)
                                                             .ProcessAsync(reportGridRequest)) as CompactionReportResult);
        }