// Show results from mensuration task in string format private void ShowResults(object result, string caption = "") { StringBuilder sb = new StringBuilder(); if (result is MensurationPointResult) { MensurationPointResult pointResult = (MensurationPointResult)result; if (pointResult.Point != null) { sb.Append(pointResult.Point); sb.Append("\n"); } } else if (result is MensurationHeightResult) { var heightResult = (MensurationHeightResult)result; if (heightResult.Height != null) { sb.Append("Height\n"); sb.AppendFormat("Value:\t\t{0}\n", heightResult.Height.Value); sb.AppendFormat("Display Value:\t{0}\n", heightResult.Height.DisplayValue); sb.AppendFormat("Uncertainty:\t{0}\n", heightResult.Height.Uncertainty); sb.AppendFormat("Unit:\t\t{0}\n", heightResult.Height.LinearUnit); sb.Append("\n"); } } else if (result is MensurationLengthResult) { var lengthResult = (MensurationLengthResult)result; if (lengthResult.Distance != null) { sb.Append("Distance\n"); sb.AppendFormat("Value:\t\t{0}\n", lengthResult.Distance.Value); sb.AppendFormat("Display Value:\t{0}\n", lengthResult.Distance.DisplayValue); sb.AppendFormat("Uncertainty:\t{0}\n", lengthResult.Distance.Uncertainty); sb.AppendFormat("Unit:\t\t{0}\n", lengthResult.Distance.LinearUnit); sb.Append("\n"); } if (lengthResult.AzimuthAngle != null) { sb.Append("Azimuth Angle\n"); sb.AppendFormat("Value:\t\t{0}\n", lengthResult.AzimuthAngle.Value); sb.AppendFormat("Display Value:\t{0}\n", lengthResult.AzimuthAngle.DisplayValue); sb.AppendFormat("Uncertainty:\t{0}\n", lengthResult.AzimuthAngle.Uncertainty); sb.AppendFormat("Unit:\t\t{0}\n", lengthResult.AzimuthAngle.AngularUnit); sb.Append("\n"); } if (lengthResult.ElevationAngle != null) { sb.Append("Elevation Angle\n"); sb.AppendFormat("Value:\t\t{0}\n", lengthResult.ElevationAngle.Value); sb.AppendFormat("Display Value:\t{0}\n", lengthResult.ElevationAngle.DisplayValue); sb.AppendFormat("Uncertainty:\t{0}\n", lengthResult.ElevationAngle.Uncertainty); sb.AppendFormat("Unit:\t\t{0}\n", lengthResult.ElevationAngle.AngularUnit); sb.Append("\n"); } } else if (result is MensurationAreaResult) { var areaResult = (MensurationAreaResult)result; if (areaResult.Area != null) { sb.Append("Area\n"); sb.AppendFormat("Value:\t\t{0}\n", areaResult.Area.Value); sb.AppendFormat("Display Value:\t{0}\n", areaResult.Area.DisplayValue); sb.AppendFormat("Uncertainty:\t{0}\n", areaResult.Area.Uncertainty); sb.AppendFormat("Unit:\t\t{0}\n", areaResult.Area.AreaUnit); sb.Append("\n"); } if (areaResult.Perimeter != null) { sb.Append("Perimeter\n"); sb.AppendFormat("Value:\t\t{0}\n", areaResult.Perimeter.Value); sb.AppendFormat("Display Value:\t{0}\n", areaResult.Perimeter.DisplayValue); sb.AppendFormat("Uncertainty:\t{0}\n", areaResult.Perimeter.Uncertainty); sb.AppendFormat("Unit:\t\t{0}\n", areaResult.Perimeter.LinearUnit); sb.Append("\n"); } } var _ = new MessageDialog(sb.ToString(), caption).ShowAsync(); }
void mt_TaskCompleted(object sender, TaskEventArgs e) { StringBuilder sb = new StringBuilder(); if (e is MensurationPointEventArgs) { MensurationPointResult result = (e as MensurationPointEventArgs).Result; if (result != null && result.Point != null) { sb.Append(result.Point); sb.Append("\n"); } } else if (e is MensurationHeightEventArgs) { MensurationHeightResult result = (e as MensurationHeightEventArgs).Result; if (result != null) { if (result.Height != null) { sb.Append("Height\n"); sb.AppendFormat("Value:\t\t{0}\n", result.Height.Value); sb.AppendFormat("Display Value:\t{0}\n", result.Height.DisplayValue); sb.AppendFormat("Uncertainty:\t{0}\n", result.Height.Uncertainty); sb.AppendFormat("Unit:\t\t{0}\n", result.Height.LinearUnit); sb.Append("\n"); } } } else if (e is MensurationLengthEventArgs) { MensurationLengthResult result = (e as MensurationLengthEventArgs).Result; if (result != null) { if (result.Distance != null) { sb.Append("Distance\n"); sb.AppendFormat("Value:\t\t{0}\n", result.Distance.Value); sb.AppendFormat("Display Value:\t{0}\n", result.Distance.DisplayValue); sb.AppendFormat("Uncertainty:\t{0}\n", result.Distance.Uncertainty); sb.AppendFormat("Unit:\t\t{0}\n", result.Distance.LinearUnit); sb.Append("\n"); } if (result.AzimuthAngle != null) { sb.Append("Azimuth Angle\n"); sb.AppendFormat("Value:\t\t{0}\n", result.AzimuthAngle.Value); sb.AppendFormat("Display Value:\t{0}\n", result.AzimuthAngle.DisplayValue); sb.AppendFormat("Uncertainty:\t{0}\n", result.AzimuthAngle.Uncertainty); sb.AppendFormat("Unit:\t\t{0}\n", result.AzimuthAngle.AngularUnit); sb.Append("\n"); } if (result.ElevationAngle != null) { sb.Append("Elevation Angle\n"); sb.AppendFormat("Value:\t\t{0}\n", result.ElevationAngle.Value); sb.AppendFormat("Display Value:\t{0}\n", result.ElevationAngle.DisplayValue); sb.AppendFormat("Uncertainty:\t{0}\n", result.ElevationAngle.Uncertainty); sb.AppendFormat("Unit:\t\t{0}\n", result.ElevationAngle.AngularUnit); sb.Append("\n"); } } } else if (e is MensurationAreaEventArgs) { MensurationAreaResult result = (e as MensurationAreaEventArgs).Result; if (result != null) { if (result.Area != null) { sb.Append("Area\n"); sb.AppendFormat("Value:\t\t{0}\n", result.Area.Value); sb.AppendFormat("Display Value:\t{0}\n", result.Area.DisplayValue); sb.AppendFormat("Uncertainty:\t{0}\n", result.Area.Uncertainty); sb.AppendFormat("Unit:\t\t{0}\n", result.Area.AreaUnit); sb.Append("\n"); } if (result.Perimeter != null) { sb.Append("Perimeter\n"); sb.AppendFormat("Value:\t\t{0}\n", result.Perimeter.Value); sb.AppendFormat("Display Value:\t{0}\n", result.Perimeter.DisplayValue); sb.AppendFormat("Uncertainty:\t{0}\n", result.Perimeter.Uncertainty); sb.AppendFormat("Unit:\t\t{0}\n", result.Perimeter.LinearUnit); sb.Append("\n"); } } } MessageBox.Show(sb.ToString()); }