Ejemplo n.º 1
0
        private async void ParametersControl_OnLoaded(object sender, RoutedEventArgs e)
        {
            PopulateLanguages();

            await LoadData();

            if (CurrentParameter == null)
            {
                CurrentParameter = new Parameter();
            }

            CurrentParameter.CurrentLanguage = LanguageList.SingleOrDefault(l => l.Code.Equals(CurrentParameter.CurrentLanguage.Code));
        }
        /// <summary>
        /// This is a callback method that is always called when
        /// the internal load process is finished
        /// (even when it failed to finish after initialization).
        /// </summary>
        /// <param name="loadWasSuccessful"></param>
        private void LoadFinishedEvent(bool loadWasSuccessful,
                                       Exception exp, string message)
        {
            if (loadWasSuccessful == false)
            {
                if (mDocumentBase != null)
                {
                    mDocumentBase.EndProcessingSolutionWithError(mLoadFiles4NewTargetProcessID, exp, message);
                }
                else
                {
                    if (exp != null)
                    {
                        GetService <IMessageBoxService>().Show(exp, message);
                    }
                }

                return;
            }

            SelectedSourceLanguage = null;
            string lngBCP47 = SourceFileLanguage;

            SelectedSourceLanguage = LanguageList.SingleOrDefault(item => item.Bcp47_LangCode == lngBCP47);

            // Make a second attempt if first attempt did not find matches (this is necessary for Chinese and Serbian)
            if (SelectedSourceLanguage == null)
            {
                SelectedSourceLanguage = LanguageList.SingleOrDefault(item => item.Bcp47_LangCode == SourceFileLanguageRegion);
            }

            lngBCP47 = TargetFileLanguage;
            SelectedTargetLanguage = LanguageList.SingleOrDefault(item => item.Bcp47_LangCode == lngBCP47);

            // Make a second attempt if first attempt did not find matches (this is necessary for Chinese and Serbian)
            if (SelectedTargetLanguage == null)
            {
                SelectedTargetLanguage = LanguageList.SingleOrDefault(item => item.Bcp47_LangCode == TargetFileLanguageRegion);
            }

            RaisePropertyChanged(() => FileSourceHasData);
        }