private async void InitializeAirportTranslationList(string airportCode) { AirportTranslationList = new ObservableCollection <AirportTranslation>(); AirportTranslationList.CollectionChanged += AirportTranslationList_CollectionChanged; airportTransDataGrid.ItemsSource = AirportTranslationList; DataList atList = string.IsNullOrWhiteSpace(airportCode) ? new DataList() : await dbCon.GetDataList("AirportTranslation", new DataRow("AirportCode", airportCode), "ORDER BY LanguageCode"); if (atList.HasData && atList.Error == ERROR.NoError) { AirportTranslation at = null; List <string> exceptedLanguageCodes = new List <string>(); foreach (DataRow row in atList) { at = new AirportTranslation(); at.AirportTranslationId = (Guid)row.Get("AirportTranslationId"); at.AirportName = row.Get("AirportName").ToString(); at.LanguageCode = row.Get("LanguageCode").ToString(); at.LanguageName = (await dbCon.GetDataRow("LanguageReference", new DataRow("LanguageCode", row.Get("LanguageCode")))).Get("LanguageName").ToString(); at.IsEnabled = false; AirportTranslationList.Add(at); exceptedLanguageCodes.Add(row.Get("LanguageCode").ToString()); } at = new AirportTranslation(); foreach (DataRow row in await LoadLanguageList(exceptedLanguageCodes.ToArray())) { at.LanguageList.Add(row.Get("LanguageCode").ToString()); } if (at.LanguageList.Count > 0) { AirportTranslationList.Add(at); } } else { AirportTranslation at = new AirportTranslation(); DataList LanguageList = await LoadLanguageList(); if (LanguageList.Count == 0) { MessageBox.Show(Messages.ERROR_LANGUAGE_REF_NOT_FOUND, Captions.ERROR); Close(); } foreach (DataRow row in LanguageList) { at.LanguageList.Add(row.Get("LanguageCode").ToString()); } if (at.LanguageList.Count > 0) { AirportTranslationList.Add(at); } } }
private async Task InitializeRotation() { DisplayMessage("ENG"); rotateTimer = new Timer(ShowText.RotateInSeconds * 1000); rotateTimer.AutoReset = false; rotateTimer.Elapsed += RotateTimer_Elapsed; rotateTimer.Start(); DataList textTranslationList = await dbCon.GetDataList("TextTranslation", new DataRow("TextTemplateId", ShowText.TextTemplateId)); if (textTranslationList.HasData && textTranslationList.Error == ERROR.NoError) { foreach (DataRow textTranslationRow in textTranslationList) { TextTranslation textTranslation = new TextTranslation(); PropertyInfo[] properties = textTranslation.GetType().GetProperties(); foreach (PropertyInfo property in properties) { if (textTranslationRow.ContainKey(property.Name)) { property.SetValue(textTranslation, textTranslationRow.Get(property.Name)); } } TextTranslationList.Add(textTranslation); } foreach (TextTranslation textTranslation in TextTranslationList) { DataRow originAirportTranslation = await dbCon.GetDataRow("AirportTranslation", new DataRow("AirportCode", ShowText.OriginCode, "LanguageCode", textTranslation.LanguageCode)); if (originAirportTranslation.HasData && originAirportTranslation.Error == ERROR.NoError) { AirportTranslation airportTranslation = new AirportTranslation(); airportTranslation = AddDataToProperty(typeof(AirportTranslation), originAirportTranslation) as AirportTranslation; OriginAirportTranslationList.Add(airportTranslation); } DataRow destinationAirportTranslation = await dbCon.GetDataRow("AirportTranslation", new DataRow("AirportCode", ShowText.DestinationCode, "LanguageCode", textTranslation.LanguageCode)); if (destinationAirportTranslation.HasData && destinationAirportTranslation.Error == ERROR.NoError) { AirportTranslation airportTranslation = new AirportTranslation(); airportTranslation = AddDataToProperty(typeof(AirportTranslation), destinationAirportTranslation) as AirportTranslation; DestinationAirportTranslationList.Add(airportTranslation); } } indexOfTranslation++; } }
private async void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComboBox langComboBox = sender as ComboBox; if (langComboBox != null) { if (airportTransDataGrid.SelectedItem != null) { int indexOfItemInAirportTranslationList = AirportTranslationList.IndexOf(airportTransDataGrid.SelectedItem as AirportTranslation); if (AirportTranslationList[indexOfItemInAirportTranslationList].IsEnabled) { DataRow languageDetail = await dbCon.GetDataRow("LanguageReference", new DataRow("LanguageCode", langComboBox.SelectedItem.ToString())); if (languageDetail.HasData && languageDetail.Error == ERROR.NoError) { AirportTranslationList[indexOfItemInAirportTranslationList].LanguageName = languageDetail.Get("LanguageName").ToString(); AirportTranslationList[indexOfItemInAirportTranslationList].IsEnabled = false; airportTransDataGrid.CurrentCell = new DataGridCellInfo(airportTransDataGrid.SelectedItem, airportTransDataGrid.Columns[2]); airportTransDataGrid.BeginEdit(); List <string> exceptCodes = new List <string>(); exceptCodes.Add((sender as ComboBox).SelectedItem.ToString()); for (int i = 0; i < AirportTranslationList.Count; i++) { if (AirportTranslationList[i].LanguageCode != null && !string.IsNullOrWhiteSpace(AirportTranslationList[i].LanguageCode)) { exceptCodes.Add(AirportTranslationList[i].LanguageCode); } } DataList availableLanguage = await LoadLanguageList(exceptCodes.ToArray()); if (availableLanguage.Count > 0) { AirportTranslation at = new AirportTranslation(); foreach (DataRow row in availableLanguage) { at.LanguageList.Add(row.Get("LanguageCode").ToString()); } AirportTranslationList.Add(at); } } } } } }