Exemple #1
0
        public async Task <IActionResult> VolumesReport([FromQuery, BindRequired] SimpleFilter filter)
        {
            Log.LogInformation($"VolumesReport Filter: {filter}");
            // Ground to design only
            // SummaryVolumesRequest

            // Returns SummaryVolumesResult
            var filterUid = await ConvertSimpleFilter(filter);

            // Base UID needs to be filter
            // Top UID needs to be design
            var route  = $"/volumes/summary?projectUid={filter.ProjectUid}&baseUid={filterUid}&topUid={filter.DesignFileUid}";
            var result = await _productivity3dV2ProxyCompaction.ExecuteGenericV2Request <CompactionVolumesSummaryResult>(route, HttpMethod.Get, null, CustomHeaders);

            if (result != null)
            {
                return(Json(result));
            }

            ServiceExceptionHandler.ThrowServiceException(HttpStatusCode.BadRequest,
                                                          (int)Now3DExecutionStates.ErrorCodes.GeneralError,
                                                          null,
                                                          "No Data");
            return(null);
        }
Exemple #2
0
        // It is likely we have a combination of filters stored for a project.
        // Older ones will have legacyAssetId (assetUid = null) and more recent ones will have AssetUid (legacyAssetID == -1)
        private static async Task PairUpAssetIdentifiers(string projectUid, List <MachineDetails> machines,
                                                         IProductivity3dV2ProxyCompaction productivity3dV2ProxyCompaction, IHeaderDictionary customHeaders)
        {
            if (machines == null || !machines.Any())
            {
                return;
            }

            var route     = $"/projects/{projectUid}/machines";
            var assetList = await productivity3dV2ProxyCompaction.ExecuteGenericV2Request <MachineExecutionResult>(route, HttpMethod.Get, null, customHeaders);

            foreach (var assetMatch in assetList.MachineStatuses)
            {
                foreach (var assetOnDesignPeriod in machines.FindAll(a => a.AssetUid == assetMatch.AssetUid))
                {
                    assetOnDesignPeriod.AssetId = assetMatch.AssetId;
                }
            }
        }