Example #1
0
        /// <summary>
        /// Handles the GetConceptDetailsCompleted event from TerminologyManager.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="Microsoft.Cui.SamplePages.TerminologyProvider.GetConceptDetailsCompletedEventArgs"/> instance containing the event data.</param>
        private void TerminologyManagerGetConceptDetailsCompleted(object sender, GetConceptDetailsCompletedEventArgs e)
        {
            this.conceptDetail = e.Result;

            if (this.SingleConceptMatching.InputBoxSelectedItem != null && ValidateInputText(this.SingleConceptMatching.AdditionalTextBoxText))
            {
                this.lastAdditionalTextBoxSearch = this.SingleConceptMatching.AdditionalTextBoxText;
                if (this.connected)
                {
                    this.StatusText.Text = SingleConceptMatchingPage.SearchInProgressText;
                    this.ShowProgressBar();
                    this.indexerCallCount++;
                    TerminologyManager.ParseAdditionalTextBox(this.SingleConceptMatching.AdditionalTextBoxText, this.SingleConceptMatching.InputBoxSelectedItem as InputFieldResult, this.conceptDetail);
                }
            }
        }
Example #2
0
        /// <summary>
        /// Handles the get concept details completed of the Terminology Client control.
        /// Creates and output and adds it to the list box.
        /// </summary>
        /// <param name="sender">The terminology client.</param>
        /// <param name="e">The <see cref="GetConceptDetailsCompletedEventArgs"/> instance containing the event data.</param>
        private void Client_GetConceptDetailsCompleted(object sender, GetConceptDetailsCompletedEventArgs e)
        {
            if (e.Error == null && e.Result != null)
            {
                SingleConceptMatchingOutput output = new SingleConceptMatchingOutput()
                {
                    OriginalInputFieldText = this.SingleConceptMatching.InputBoxText,
                    OriginalAdditionalText = this.SingleConceptMatching.AdditionalTextBoxText,
                    EncodedConcept         = new EncodedConcept()
                    {
                        EncodedSingleConcept = e.Result
                    }
                };

                this.outputs.Add(output);
                this.SingleConceptMatching.Clear();
                this.SingleConceptMatching.IsEnabled = true;
            }

            this.HideProgressBar();
        }
        /// <summary>
        /// Handles the get concept details completed of the Terminology Client control.
        /// Creates and output and adds it to the list box.
        /// </summary>
        /// <param name="sender">The terminology client.</param>
        /// <param name="e">The <see cref="GetConceptDetailsCompletedEventArgs"/> instance containing the event data.</param>
        private void Client_GetConceptDetailsCompleted(object sender, GetConceptDetailsCompletedEventArgs e)
        {
            if (e.Error == null && e.Result != null)
            {
                SingleConceptMatchingOutput output = new SingleConceptMatchingOutput()
                {
                    OriginalInputFieldText = this.SingleConceptMatching.InputBoxText,
                    OriginalAdditionalText = this.SingleConceptMatching.AdditionalTextBoxText,
                    EncodedConcept = new EncodedConcept()
                    {
                        EncodedSingleConcept = e.Result
                    }
                };

                this.outputs.Add(output);
                this.SingleConceptMatching.Clear();
                this.SingleConceptMatching.IsEnabled = true;
            }

            this.HideProgressBar();
        }
        /// <summary>
        /// Handles the GetConceptDetailsCompleted event from TerminologyManager.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="Microsoft.Cui.SampleWinform.TerminologyProvider.GetConceptDetailsCompletedEventArgs"/> instance containing the event data.</param>
        private void TerminologyManagerGetConceptDetailsCompleted(object sender, GetConceptDetailsCompletedEventArgs e)
        {
            this.conceptDetail = e.Result;

            if (this.SingleConceptMatching.InputBoxSelectedItem != null && ValidateInputText(this.SingleConceptMatching.AdditionalTextBoxText))
            {
                this.lastAdditionalTextBoxSearch = this.SingleConceptMatching.AdditionalTextBoxText;
                if (this.connected)
                {
                    this.StatusText.Text = SingleConceptMatchingPage.SearchInProgressText;
                    this.ShowProgressBar();
                    this.indexerCallCount++;
                    TerminologyManager.ParseAdditionalTextBox(this.SingleConceptMatching.AdditionalTextBoxText, this.SingleConceptMatching.InputBoxSelectedItem as InputFieldResult, this.conceptDetail);
                }
            }
        }
Example #5
0
        /// <summary>
        /// Handles the get concept details completed event for the Terminologies Provider Client.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="GetConceptDetailsCompletedEventArgs"/> instance containing the event data.</param>
        private static void TerminologyProviderClientGetConceptDetailsCompleted(object sender, GetConceptDetailsCompletedEventArgs e)
        {
            if (e.Error == null && e.Result != null)
            {
                if (e.UserState is SearchState)
                {
                    SearchState searchState = e.UserState as SearchState;                  

                    switch (searchState.UserState)
                    {
                        case UserState.EncodingMainConcept:
                            TerminologyManager.EncodeMainConcept(e.Result, searchState);
                            break;
                        case UserState.EncodingAdditionalConcept:
                            searchState.ConceptDetail = e.Result;
                            TerminologyManager.EncodeAdditionalConcept(searchState);  
                            break;
                        case UserState.SearchingFindingSites:
                            RefinableCharacteristic lateralityRefChar = e.Result.RefinableCharacteristics.SingleOrDefault(p => p.Name == "Laterality");

                            searchState.RemainingItemsToFind--;

                            int index = searchState.RefinableCharacteristic.ValueConcepts.Count - searchState.RemainingItemsToFind;

                            if (lateralityRefChar == null)
                            {                                
                                if (searchState.RemainingItemsToFind > 0)
                                {
                                    TerminologyManager.terminologyProviderClient.GetConceptDetailsAsync(searchState.RefinableCharacteristic.ValueConcepts[index].SnomedConceptId, TerminologyManager.LocaleString, searchState);
                                }
                                else
                                {
                                    TerminologyManager.RaiseAdditionalTextBoxCompleted(searchState.AdditionalTextBoxResults, searchState);                        
                                }
                            }
                            else
                            {
                                searchState.LateralityFindingSites.Add(e.Result);

                                if (searchState.RemainingItemsToFind > 0)
                                {
                                    TerminologyManager.terminologyProviderClient.GetConceptDetailsAsync(searchState.RefinableCharacteristic.ValueConcepts[index].SnomedConceptId, TerminologyManager.LocaleString, searchState);                               
                                }
                                else
                                {
                                    TerminologyManager.RaiseAdditionalTextBoxCompleted(searchState.AdditionalTextBoxResults, searchState);
                                }
                            }
                           
                            break;
                        default:
                            break;
                    }

                    switch (searchState.UserState)
                    {                        
                        case UserState.EncodingMainConcept:                            
                        case UserState.EncodingAdditionalConcept:
                            if (searchState.AdditionalTextBoxResults == null || searchState.AdditionalTextBoxResults.Count == 0)
                            {
                                if (TerminologyManager.EncodeConceptCompleted != null)
                                {
                                    TerminologyManager.EncodeConceptCompleted(null, new EncodeConceptCompletedEventArgs(searchState.EncodedConcept));
                                }
                            }

                            break;                       
                    }
                }
            }
            else
            {
                if (TerminologyManager.EncodeConceptCompleted != null)
                {
                    TerminologyManager.EncodeConceptCompleted(null, new EncodeConceptCompletedEventArgs(false));
                }
            }
        }
Example #6
0
        /// <summary>
        /// Handles the get concept details completed event for the Terminologies Provider Client.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="GetConceptDetailsCompletedEventArgs"/> instance containing the event data.</param>
        private static void TerminologyProviderClientGetConceptDetailsCompleted(object sender, GetConceptDetailsCompletedEventArgs e)
        {
            if (e.Error == null && e.Result != null)
            {
                if (e.UserState is SearchState)
                {
                    SearchState searchState = e.UserState as SearchState;

                    switch (searchState.UserState)
                    {
                    case UserState.EncodingMainConcept:
                        TerminologyManager.EncodeMainConcept(e.Result, searchState);
                        break;

                    case UserState.EncodingAdditionalConcept:
                        searchState.ConceptDetail = e.Result;
                        TerminologyManager.EncodeAdditionalConcept(searchState);
                        break;

                    case UserState.SearchingFindingSites:
                        RefinableCharacteristic lateralityRefChar = e.Result.RefinableCharacteristics.SingleOrDefault(p => p.Name == "Laterality");

                        searchState.RemainingItemsToFind--;

                        int index = searchState.RefinableCharacteristic.ValueConcepts.Count - searchState.RemainingItemsToFind;

                        if (lateralityRefChar == null)
                        {
                            if (searchState.RemainingItemsToFind > 0)
                            {
                                TerminologyManager.terminologyProviderClient.GetConceptDetailsAsync(searchState.RefinableCharacteristic.ValueConcepts[index].SnomedConceptId, TerminologyManager.LocaleString, searchState);
                            }
                            else
                            {
                                TerminologyManager.RaiseAdditionalTextBoxCompleted(searchState.AdditionalTextBoxResults, searchState);
                            }
                        }
                        else
                        {
                            searchState.LateralityFindingSites.Add(e.Result);

                            if (searchState.RemainingItemsToFind > 0)
                            {
                                TerminologyManager.terminologyProviderClient.GetConceptDetailsAsync(searchState.RefinableCharacteristic.ValueConcepts[index].SnomedConceptId, TerminologyManager.LocaleString, searchState);
                            }
                            else
                            {
                                TerminologyManager.RaiseAdditionalTextBoxCompleted(searchState.AdditionalTextBoxResults, searchState);
                            }
                        }

                        break;

                    default:
                        break;
                    }

                    switch (searchState.UserState)
                    {
                    case UserState.EncodingMainConcept:
                    case UserState.EncodingAdditionalConcept:
                        if (searchState.AdditionalTextBoxResults == null || searchState.AdditionalTextBoxResults.Count == 0)
                        {
                            if (TerminologyManager.EncodeConceptCompleted != null)
                            {
                                TerminologyManager.EncodeConceptCompleted(null, new EncodeConceptCompletedEventArgs(searchState.EncodedConcept));
                            }
                        }

                        break;
                    }
                }
            }
            else
            {
                if (TerminologyManager.EncodeConceptCompleted != null)
                {
                    TerminologyManager.EncodeConceptCompleted(null, new EncodeConceptCompletedEventArgs(false));
                }
            }
        }