public TargetShapeIDs ToShapeIDs() { if (this.Shapes == null) { throw new System.ArgumentException("Target shapes must be resolved before calling ToShapeIDs()"); } var shapeids = this.Shapes.Select(s => s.ID).ToList(); var target_shapeids = new TargetShapeIDs(shapeids); return(target_shapeids); }
public static List <ShapeXFormData> Get(Microsoft.Office.Interop.Visio.Page page, TargetShapeIDs target) { if (query == null) { query = new ShapeSheetQuery(); ColPinX = query.AddCell(VisioAutomation.ShapeSheet.SrcConstants.XFormPinX, nameof(VisioAutomation.ShapeSheet.SrcConstants.XFormPinX)); ColPinY = query.AddCell(VisioAutomation.ShapeSheet.SrcConstants.XFormPinY, nameof(VisioAutomation.ShapeSheet.SrcConstants.XFormPinY)); ColLocPinX = query.AddCell(VisioAutomation.ShapeSheet.SrcConstants.XFormLocPinX, nameof(VisioAutomation.ShapeSheet.SrcConstants.XFormLocPinX)); ColLocPinY = query.AddCell(VisioAutomation.ShapeSheet.SrcConstants.XFormLocPinY, nameof(VisioAutomation.ShapeSheet.SrcConstants.XFormLocPinY)); ColWidth = query.AddCell(VisioAutomation.ShapeSheet.SrcConstants.XFormWidth, nameof(VisioAutomation.ShapeSheet.SrcConstants.XFormWidth)); ColHeight = query.AddCell(VisioAutomation.ShapeSheet.SrcConstants.XFormHeight, nameof(VisioAutomation.ShapeSheet.SrcConstants.XFormHeight)); } var results = query.GetResults <double>(page, target.ShapeIDs); if (results.Count != target.ShapeIDs.Count) { throw new VisioAutomation.Exceptions.InternalAssertionException("Didn't get as many rows back as expected"); } var list = new List <ShapeXFormData>(target.ShapeIDs.Count); foreach (var row in results) { var xform = new ShapeXFormData(); xform.PinX = row.Cells[ColPinX]; xform.PinY = row.Cells[ColPinY]; xform.LocPinX = row.Cells[ColLocPinX]; xform.LocPinY = row.Cells[ColLocPinY]; xform.Width = row.Cells[ColWidth]; xform.Height = row.Cells[ColHeight]; list.Add(xform); } return(list); }