// Query for rows related to the selected well in the wells list view
		private async void WellsGrid_SelectionChanged(object sender, Windows.UI.Xaml.Controls.SelectionChangedEventArgs e)
		{
			try
			{
				if (e.AddedItems != null && e.AddedItems.Count > 0)
				{
					QueryTask queryTask =
					   new QueryTask(new Uri("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Petroleum/KSPetro/MapServer/0"));

					//Relationship query
					var objectIds = e.AddedItems.OfType<Graphic>()
						.Select(g => Convert.ToInt64(g.Attributes["OBJECTID"]));

					RelationshipParameters parameters = new RelationshipParameters(new List<long>(objectIds), 3)
					{
						OutSpatialReference = MyMapView.SpatialReference
					};

					parameters.OutFields.AddRange(new string[] { "OBJECTID, API_NUMBER, ELEVATION, FORMATION, TOP" });

					var result = await queryTask.ExecuteRelationshipQueryAsync(parameters);
					relationshipsGrid.ItemsSource = result.RelatedRecordGroups.FirstOrDefault().Value;
				}
			}
			catch (Exception ex)
			{
				var _x = new MessageDialog(ex.Message, "Sample Error").ShowAsync();
			}
		}
示例#2
0
        private void AddRelationship()
        {
            if (CircleDiagramModel == null || !CircleDiagramModel.IsCorrect())
            {
                return;
            }

            var relationshipParameters = new RelationshipParameters
            {
                Nodes         = CircleDiagramModel.Nodes,
                Relationships = CircleDiagramModel.Relationships
            };

            if (relationshipParameters.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            var newRelationship = new CircleDiagramRelationship(
                relationshipParameters.BeginNode,
                relationshipParameters.EndNode);

            if (CircleDiagramModel.AddRelationship(newRelationship))
            {
                lvRelationships.AddCircleDiagramRelationship(newRelationship);
            }

            RedrawDiagramOnControl();
        }
示例#3
0
        // Query for rows related to the selected well in the wells list view
        private async void WellsGrid_SelectionChanged(object sender, Windows.UI.Xaml.Controls.SelectionChangedEventArgs e)
        {
            try
            {
                if (e.AddedItems != null && e.AddedItems.Count > 0)
                {
                    QueryTask queryTask =
                        new QueryTask(new Uri("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Petroleum/KSPetro/MapServer/0"));

                    //Relationship query
                    var objectIds = e.AddedItems.OfType <Graphic>()
                                    .Select(g => Convert.ToInt64(g.Attributes["OBJECTID"]));

                    RelationshipParameters parameters = new RelationshipParameters(new List <long>(objectIds), 3)
                    {
                        OutSpatialReference = MyMapView.SpatialReference
                    };

                    parameters.OutFields.AddRange(new string[] { "OBJECTID, API_NUMBER, ELEVATION, FORMATION, TOP" });

                    var result = await queryTask.ExecuteRelationshipQueryAsync(parameters);

                    relationshipsGrid.ItemsSource = result.RelatedRecordGroups.FirstOrDefault().Value;
                }
            }
            catch (Exception ex)
            {
                var _x = new MessageDialog(ex.Message, "Sample Error").ShowAsync();
            }
        }
示例#4
0
        private async Task RunRelationshipQuery(IEnumerable <long> objectIds)
        {
            QueryTask queryTask =
                new QueryTask(new Uri("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Petroleum/KSPetro/MapServer/0"));

            //Relationship query
            RelationshipParameters parameters = new RelationshipParameters(new List <long>(objectIds), 3)
            {
                OutSpatialReference = mapView1.SpatialReference
            };

            parameters.OutFields.AddRange(new string[] { "OBJECTID, API_NUMBER, ELEVATION, FORMATION, TOP" });
            var result = await queryTask.ExecuteRelationshipQueryAsync(parameters);

            RelationshipResultsGrid.ItemsSource = result.RelatedRecordGroups.FirstOrDefault().Value;
        }
示例#5
0
        private async Task RunRelationshipQuery(IEnumerable <long> objectIds)
        {
            QueryTask queryTask =
                new QueryTask(new Uri("http://54.187.22.10:6080/arcgis/rest/services/Resultados_presidenciales/MapServer/0"));

            //Relationship query
            RelationshipParameters parameters = new RelationshipParameters(new List <long>(objectIds), 3)
            {
                OutSpatialReference = mapView1.SpatialReference
            };

            parameters.OutFields.AddRange(new string[] { "ESRI_OID, COD_DEPTO, DEPTO" });
            var result = await queryTask.ExecuteRelationshipQueryAsync(parameters);

            RelationshipResultsGrid.ItemsSource = result.RelatedRecordGroups.FirstOrDefault().Value;
        }
        /// <summary>
        /// Queries related records for specified feature ID.
        /// </summary>
        private async Task QueryRelatedRecordsAsync()
        {
            var featureID = (Int64)AddButton.Tag;
            var layer     = MyMapView.Map.Layers["ServiceRequests"] as ArcGISDynamicMapServiceLayer;
            var id        = layer.VisibleLayers.FirstOrDefault();
            var task      = new QueryTask(new Uri(string.Format("{0}/{1}", layer.ServiceUri, id)));

            if (relationship == null)
            {
                relationship = await GetRelationshipAsync();
            }
            var parameters = new RelationshipParameters(new List <long>(new long[] { featureID }), relationship.ID);

            parameters.OutFields = new OutFields(new string[] { "objectid" });
            var result = await task.ExecuteRelationshipQueryAsync(parameters);

            if (result != null && result.RelatedRecordGroups != null && result.RelatedRecordGroups.ContainsKey(featureID))
            {
                RelatedRecords.ItemsSource = result.RelatedRecordGroups[featureID];
            }
        }
 /// <summary>
 /// Queries related records for specified feature ID.
 /// </summary>
 private async Task QueryRelatedRecordsAsync()
 {
     var featureID = (Int64)AddButton.Tag;
     var layer = MyMapView.Map.Layers["ServiceRequests"] as ArcGISDynamicMapServiceLayer;
     var id = layer.VisibleLayers.FirstOrDefault();
     var task = new QueryTask(new Uri(string.Format("{0}/{1}", layer.ServiceUri, id)));
     if (relationship == null)
         relationship = await GetRelationshipAsync();
     var parameters = new RelationshipParameters(new List<long>(new long[] { featureID }), relationship.ID);
     parameters.OutFields = new OutFields(new string[] { "objectid" });
     var result = await task.ExecuteRelationshipQueryAsync(parameters);
     if (result != null && result.RelatedRecordGroups != null && result.RelatedRecordGroups.ContainsKey(featureID))
     {
         RelatedRecords.ItemsSource = result.RelatedRecordGroups[featureID];
         Records.IsEnabled = true;
     }
 }