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(); } }