ArcGISWindowsPhoneSDK.ServiceAreas.SolveButton_Click C# (CSharp) Method

SolveButton_Click() private method

private SolveButton_Click ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        private void SolveButton_Click(object sender, EventArgs e)
        {
            List<AttributeParameter> aps = new List<AttributeParameter>();
            AttributeParameter ap = GetAttributeParameterValue(AttributeParameterValues3.SelectionBoxItem.ToString().Trim());
            if (ap != null)
                aps.Add(ap);

            GenerateBarriers();

            try
            {
                RouteServiceAreaParameters routeParams = new RouteServiceAreaParameters()
                {
                    Barriers = pointBarriers.Count > 0 ? pointBarriers : null,
                    PolylineBarriers = polylineBarriers.Count > 0 ? polylineBarriers : null,
                    PolygonBarriers = polygonBarriers.Count > 0 ? polygonBarriers : null,
                    Facilities = facilitiesGraphicsLayer.Graphics,
                    //AttributeParameterValues = aps,
                    DefaultBreaks = DefaultBreaks.Text,
                    ExcludeSourcesFromPolygons = ExcludeSourcesFromPolygons.Text,
                    MergeSimilarPolygonRanges = MergeSimilarPolygonRanges.IsChecked.HasValue ? MergeSimilarPolygonRanges.IsChecked.Value : false,

                    OutputLines = GetOutputLines(OutputLines3.SelectionBoxItem.ToString()),
                    OutputPolygons = GetOutputPolygons(OutputPolygons.SelectionBoxItem.ToString()),
                    OverlapLines = OverlapLines3.IsChecked.HasValue ? OverlapLines3.IsChecked.Value : false,
                    OverlapPolygons = OverlapPolygons3.IsChecked.HasValue ? OverlapPolygons3.IsChecked.Value : false,

                    SplitLineAtBreaks = SplitLinesAtBreaks.IsChecked.HasValue ? SplitLinesAtBreaks.IsChecked.Value : false,
                    SplitPolygonsAtBreaks = SplitPolygonsAtBreaks.IsChecked.HasValue ? SplitPolygonsAtBreaks.IsChecked.Value : false,
                    TravelDirection = GetFacilityTravelDirections(TravelDirections3.SelectionBoxItem.ToString().Trim()),
                    TrimOuterPolygon = TrimOuterPolygons.IsChecked.HasValue ? TrimOuterPolygons.IsChecked.Value : false,
                    TrimPolygonDistance = string.IsNullOrEmpty(TrimPolygonDistance.Text) ? 0 : double.Parse(TrimPolygonDistance.Text),
                    TrimPolygonDistanceUnits = GetUnits(TrimPolygonDistanceUnits.SelectedItem.ToString().Trim()),

                    ReturnFacilities = ReturnFacilities3.IsChecked.HasValue ? ReturnFacilities3.IsChecked.Value : false,
                    ReturnBarriers = ReturnBarriers3.IsChecked.HasValue ? ReturnBarriers3.IsChecked.Value : false,
                    ReturnPolylineBarriers = ReturnPolylineBarriers3.IsChecked.HasValue ? ReturnPolylineBarriers3.IsChecked.Value : false,
                    ReturnPolygonBarriers = ReturnPolygonBarriers3.IsChecked.HasValue ? ReturnPolygonBarriers3.IsChecked.Value : false,

                    OutSpatialReference = string.IsNullOrEmpty(OutputSpatialReference3.Text) ? MyMap.SpatialReference : new SpatialReference(int.Parse(OutputSpatialReference3.Text)),
                    AccumulateAttributes = string.IsNullOrEmpty(AccumulateAttributeNames3.Text) ? null : AccumulateAttributeNames3.Text.Split(','),
                    ImpedanceAttribute = string.IsNullOrEmpty(ImpedanceAttributeName3.Text) ? string.Empty : ImpedanceAttributeName3.Text,
                    RestrictionAttributes = string.IsNullOrEmpty(RestrictionAttributeNames3.Text) ? null : RestrictionAttributeNames3.Text.Split(','),
                    RestrictUTurns = GetRestrictUTurns(RestrictUTurns3.SelectionBoxItem.ToString()),
                    OutputGeometryPrecision = string.IsNullOrEmpty(OutputGeometryPrecision3.Text) ? 0 : double.Parse(OutputGeometryPrecision3.Text),
                    OutputGeometryPrecisionUnits = GetUnits(OutputGeometryPrecisionUnits3.SelectionBoxItem.ToString().Trim()),
                    DoNotLocateOnRestrictedElements = DoNotLocateOnRestrictedElementsCheckBox.IsChecked.HasValue ? DoNotLocateOnRestrictedElementsCheckBox.IsChecked.Value : false,
                };

                if (myRouteTask.IsBusy)
                    myRouteTask.CancelAsync();

                myRouteTask.SolveServiceAreaAsync(routeParams);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + '\n' + ex.StackTrace);
            }
        }