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 <AlignmentPointsResult> GetAlignmentPoints( [FromQuery] Guid projectUid, [FromQuery] Guid alignmentUid, [FromServices] IBoundingBoxService boundingBoxService) { Log.LogInformation($"{nameof(GetAlignmentPoints)}: " + Request.QueryString); var projectId = GetLegacyProjectId(projectUid); var alignmentDescriptor = GetAndValidateDesignDescriptor(projectUid, alignmentUid); await Task.WhenAll(projectId, alignmentDescriptor); var result = new AlignmentPointsResult(); var alignmentPoints = await boundingBoxService.GetAlignmentPoints( new ProjectData { ProjectUID = projectUid.ToString() }, alignmentDescriptor.Result); if (alignmentPoints != null && alignmentPoints.Any()) { //TODO: Fix this when WGSPoint & WGSPoint3D aligned result.AlignmentPoints = alignmentPoints.Select(x => new WGSPoint(x.Lat, x.Lon)).ToList(); } return(result); }