void AddNewTranslation() { if (SelectedOriginalLanguage != null && SelectedTranslationLanguage != null && SelectedOriginalWord != null && TranslationWord != null && TranslationWord != "") { Word lastWord = tradicIterator.GetWords().Last(); Word translation = new Word { Id = lastWord.Id + 1, Text = TranslationWord, LanguageId = SelectedTranslationLanguage.Id, TranslationId = SelectedOriginalWord.TranslationId }; tradicIterator.AddEntity(translation); Words.Add(translation); TranslationWords.Add(translation); TranslationWord = ""; } else if (SelectedOriginalLanguage == null) { MessageBox.Show("You must select original language", "Language warning", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (SelectedTranslationLanguage == null) { MessageBox.Show("You must select translation language", "Language warning", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (SelectedOriginalWord == null) { MessageBox.Show("You must select original word", "Selection warning", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (TranslationWord == null || TranslationWord == "") { MessageBox.Show("You must enter translation", "Translation warning", MessageBoxButton.OK, MessageBoxImage.Warning); } }
void RemoveOriginalWord() { if (SelectedOriginalWord != null) { if (tradicIterator.GetWords().Where(w => w.TranslationId == SelectedOriginalWord.TranslationId).Count() > 1) { tradicIterator.RemoveEntity(SelectedOriginalWord); } else { tradicIterator.RemoveEntity(SelectedOriginalWord); tradicIterator.RemoveEntity(tradicIterator.GetTranslations().Where(t => t.Id == SelectedOriginalWord.TranslationId).Last()); } if (Descriptions.Any(d => d.WordId == SelectedOriginalWord.Id)) { Descriptions.Remove(Descriptions.First(d => d.WordId == SelectedOriginalWord.Id)); } Words.Remove(Words.First(w => w.Id == SelectedOriginalWord.Id)); OriginalWords.Remove(SelectedOriginalWord); TranslationWords.Clear(); } else { MessageBox.Show("You must select original word", "Selection warning", MessageBoxButton.OK, MessageBoxImage.Warning); } }
void UpdateTranslations(object sender, PropertyChangedEventArgs e) { if ((e.PropertyName == "SelectedOriginalWord" || e.PropertyName == "SelectedTranslationLanguage") && SelectedTranslationLanguage != null && SelectedOriginalWord != null) { TranslationWords = new ObservableCollection <Word>(Words.Where(w => w.LanguageId == SelectedTranslationLanguage.Id && w.TranslationId == SelectedOriginalWord.TranslationId).ToList()); } if (e.PropertyName == "SelectedOriginalLanguage" && TranslationWords != null) { TranslationWords.Clear(); } }