Solved! Go to Solution.
// create a bool array at global scope: bool[] completedArr = new bool[2]; // on completed of 1st qry write: completedArr [0]=true; if(completedArr [0]==true && completedArr [1]==true) { // call a function/write code to merge and display the result MERGE_RESULT(); } // on completin of qry 2 write following completedArr [1]=true; if(completedArr [0] ==true && completedArr [1]==true) { MERGE_RESULT(); } // in merge method write like this : private void MERGE_RESULT() { completedArr [0]=false; completedArr [1]=false; // your logic to merge the results }
FeatureSet[] _featureSet = new FeatureSet[2]; private void Button_Click(object sender, RoutedEventArgs e) { Query query1 = new Query(); Query query2 = new Query(); QueryTask queryTask = new QueryTask(); queryTask.ExecuteCompleted += QueryCompleted; // Setup your querys DispatcherTimer timer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(500)}; timer.Tick += (s, arg) => { if ( queryTask.IsBusy ) return; timer.Stop(); queryTask.ExecuteAsync(query2, "QUERY2"); }; queryTask.ExecuteAsync(query1, "QUERY1"); timer.Start(); } private void QueryCompleted(object sender, QueryEventArgs e) { if ( (string)e.UserState == "QUERY1") { _featureSet[0] = e.FeatureSet; } if ( (string)e.UserState == "QUERY2" ) { _featureSet[1] = e.FeatureSet; } DispatcherTimer timer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(500) }; timer.Tick += (s, arg) => { if ( _featureSet[0] == null || _featureSet[1] == null ) return; timer.Stop(); //do the create intersection stuff //make sure to reset _featureSet[] when done with FeatureSet[] _featureSet = new FeatureSet[2]; }; timer.Start(); }
// create a bool array at global scope: bool[] completedArr = new bool[2]; // on completed of 1st qry write: completedArr [0]=true; if(completedArr [0]==true && completedArr [1]==true) { // call a function/write code to merge and display the result MERGE_RESULT(); } // on completin of qry 2 write following completedArr [1]=true; if(completedArr [0] ==true && completedArr [1]==true) { MERGE_RESULT(); } // in merge method write like this : private void MERGE_RESULT() { completedArr [0]=false; completedArr [1]=false; // your logic to merge the results }