ArcGISWindowsPhoneSDK.ClosestFacility.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)
        {
            foreach (object o in LayoutRoot.Resources.Values)
                if (o is Editor && (o as Editor).CancelActive.CanExecute(null))
                    (o as Editor).CancelActive.Execute(null);

            MyRouteInfoWindow.IsOpen = false;

            List<AttributeParameter> aps = new List<AttributeParameter>();
            AttributeParameter ap = GetAttributeParameterValue(AttributeParameter2.Content.ToString().Trim());
            if (ap != null)
                aps.Add(ap);

            GenerateBarriers();

            RouteClosestFacilityParameters routeParams = new RouteClosestFacilityParameters()
            {
                Incidents = IncidentsGraphicsLayer.Graphics,
                Barriers = pointBarriers.Count > 0 ? pointBarriers : null,
                PolylineBarriers = polylineBarriers.Count > 0 ? polylineBarriers : null,
                PolygonBarriers = polygonBarriers.Count > 0 ? polygonBarriers : null,
                Facilities = facilitiesGraphicsLayer.Graphics,

                AttributeParameterValues = aps,
                ReturnDirections = ReturnDirections2.IsChecked.HasValue ? ReturnDirections2.IsChecked.Value : false,
                DirectionsLanguage = String.IsNullOrEmpty(DirectionsLanguage2.Text) ? new System.Globalization.CultureInfo("en-US") : new System.Globalization.CultureInfo(DirectionsLanguage2.Text),
                DirectionsLengthUnits = GetDirectionsLengthUnits(DirectionsLengthUnits2.Content.ToString().Trim()),
                DirectionsTimeAttribute = DirectionsTimeAttributeName2.Text,

                ReturnRoutes = ReturnRoutes2.IsChecked.HasValue ? ReturnRoutes2.IsChecked.Value : false,
                ReturnFacilities = ReturnFacilities2.IsChecked.HasValue ? ReturnFacilities2.IsChecked.Value : false,
                ReturnIncidents = ReturnIncidents2.IsChecked.HasValue ? ReturnIncidents2.IsChecked.Value : false,
                ReturnBarriers = ReturnBarriers2.IsChecked.HasValue ? ReturnBarriers2.IsChecked.Value : false,
                ReturnPolylineBarriers = ReturnPolylineBarriers2.IsChecked.HasValue ? ReturnPolylineBarriers2.IsChecked.Value : false,
                ReturnPolygonBarriers = ReturnPolygonBarriers2.IsChecked.HasValue ? ReturnPolygonBarriers2.IsChecked.Value : false,

                FacilityReturnType = FacilityReturnType.ServerFacilityReturnAll,
                OutputLines = GetOutputLines(OutputLines2.Content.ToString().Trim()),
                DefaultCutoff = string.IsNullOrEmpty(DefaultCutoff2.Text) ? 100 : double.Parse(DefaultCutoff2.Text),
                DefaultTargetFacilityCount = string.IsNullOrEmpty(DefaultTargetFacilityCount2.Text) ? 1 : int.Parse(DefaultTargetFacilityCount2.Text),
                TravelDirection = GetFacilityTravelDirections(TravelDirection2.Content.ToString().Trim()),
                OutSpatialReference = string.IsNullOrEmpty(OutputSpatialReference2.Text) ? MyMap.SpatialReference : new SpatialReference(int.Parse(OutputSpatialReference2.Text)),

                AccumulateAttributes = AccumulateAttributeNames2.Text.Split(','),
                ImpedanceAttribute = ImpedanceAttributeName2.Text,
                RestrictionAttributes = RestrictionAttributeNames2.Text.Split(','),
                RestrictUTurns = GetRestrictUTurns(RestrictUTurns2.Content.ToString().Trim()),
                UseHierarchy = UseHierarchy2.IsChecked.HasValue ? UseHierarchy2.IsChecked.Value : false,
                OutputGeometryPrecision = string.IsNullOrEmpty(OutputGeometryPrecision2.Text) ? 0 : double.Parse(OutputGeometryPrecision2.Text),
                OutputGeometryPrecisionUnits = GetGeometryPrecisionUnits(OutputGeometryPrecisionUnits2.Content.ToString().Trim())
            };

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

            myRouteTask.SolveClosestFacilityAsync(routeParams);
        }