ArcGISPortalViewer.Controls.MeasureDisplayControl.ExecuteMeasure C# (CSharp) Method

ExecuteMeasure() private method

private ExecuteMeasure ( ) : void
return void
        private async void ExecuteMeasure()
        {
            if (Editor == null) return;
            ResetEditor();
            OnMeasureStarted();
            Exception error = null;
            Polyline polyline = null;
            bool isCanceled = false;
            try
            {
                var result = await Editor.RequestShapeAsync(DrawShape.Polyline,
                    new SimpleLineSymbol()
                    {
                        Color = Colors.CornflowerBlue,
                        Width = 4
                    }, new Progress<GeometryEditStatus>(OnStatusReported));
                polyline = result as Polyline;
            }
            catch (TaskCanceledException)
            {
                isCanceled = true;
            }
            catch (Exception ex)
            {
                error = ex;
            }
            finally
            {
                OnMeasureCompleted(polyline, error, isCanceled);
                polyline = null;
                if (IsEnabled)
                    ExecuteMeasure();
            }
        }