public async Task <PointsListResult> GetFilterPointsList( [FromServices] ISummaryDataHelper summaryDataHelper, [FromQuery] Guid projectUid, [FromQuery] Guid?filterUid, [FromQuery] Guid?baseUid, [FromQuery] Guid?topUid, [FromQuery] FilterBoundaryType boundaryType, [FromServices] IBoundingBoxService boundingBoxService) { Log.LogInformation($"{nameof(GetFilterPointsList)}: " + Request.QueryString); var projectTask = ((RaptorPrincipal)User).GetProject(projectUid); var filterTask = GetCompactionFilter(projectUid, filterUid); //Base or top may be a design UID var baseFilterTask = summaryDataHelper.WithSwallowExceptionExecute(() => GetCompactionFilter(projectUid, baseUid)); var topFilterTask = summaryDataHelper.WithSwallowExceptionExecute(() => GetCompactionFilter(projectUid, topUid)); var result = new PointsListResult(); await Task.WhenAll(projectTask, filterTask, baseFilterTask, topFilterTask); var polygons = await boundingBoxService.GetFilterBoundaries(projectTask.Result, filterTask.Result, baseFilterTask.Result, topFilterTask.Result, boundaryType, CustomHeaders); result.PointsList = ConvertPoints(polygons); return(result); }
public async Task <PointsListResult> GetAlignmentPointsList( [FromQuery] Guid projectUid, [FromServices] IBoundingBoxService boundingBoxService) { Log.LogInformation($"{nameof(GetAlignmentPointsList)}: " + Request.QueryString); var projectId = GetLegacyProjectId(projectUid); var alignmentDescriptors = GetAlignmentDescriptors(projectUid); await Task.WhenAll(projectId, alignmentDescriptors); var result = new PointsListResult(); var list = new List <List <WGSPoint> >(); foreach (var alignmentDescriptor in alignmentDescriptors.Result) { var alignmentPoints = await boundingBoxService.GetAlignmentPoints( new ProjectData { ProjectUID = projectUid.ToString() }, alignmentDescriptor, 0, 0, 0, 0, CustomHeaders); if (alignmentPoints != null && alignmentPoints.Any()) { list.Add(alignmentPoints.ToList()); } } result.PointsList = ConvertPoints(list); return(result); }
public async Task <PointsListResult> GetDesignBoundaryPoints( [FromQuery] Guid projectUid, [FromQuery] Guid designUid, [FromServices] IBoundingBoxService boundingBoxService) { Log.LogInformation("GetDesignBoundaryPoints: " + Request.QueryString); var projectId = GetLegacyProjectId(projectUid); var designDescriptor = GetAndValidateDesignDescriptor(projectUid, designUid); await Task.WhenAll(projectId, designDescriptor); var project = new ProjectData { ProjectUID = projectUid.ToString() }; var result = new PointsListResult(); var polygons = await boundingBoxService.GetDesignBoundaryPolygons(project, designDescriptor.Result, CustomHeaders); result.PointsList = ConvertPoints(polygons); return(result); }
public async Task <PointsListResult> GetFilterPoints( [FromQuery] Guid projectUid, [FromQuery] Guid filterUid, [FromServices] IBoundingBoxService boundingBoxService) { Log.LogInformation("GetFilterPoints: " + Request.QueryString); var project = ((RaptorPrincipal)User).GetProject(projectUid); var filter = GetCompactionFilter(projectUid, filterUid); await Task.WhenAll(project, filter); var result = new PointsListResult(); if (filter.Result != null) { var polygons = await boundingBoxService.GetFilterBoundaries( project.Result, filter.Result, FilterBoundaryType.All, CustomHeaders); result.PointsList = ConvertPoints(polygons); } return(result); }