private void AppendNewMeaning(string newMeaning, int spID) { Word newWord = _context.Words.Where(z => z.Value.ToLower() == newMeaning.ToLower()).FirstOrDefault(); newWord = newWord ?? new Word() { Value = newMeaning, Language = (Language)cbMiningLang.SelectedItem }; if (!_wordEntry.WordMeanings.Any(z => z.Word1.Value == newMeaning)) // and speachpart { WordMeaning wm = new WordMeaning() { Word = _word, Word1 = newWord }; wm.SpeechPart_ID = spID; _wordEntry.WordMeanings.Add(wm); } RefreshWordTranslation(); FillAllWordMeanings(); }
private void AppendNewMeaning(string newMeaning) { CheckOrCreateNewWord(); Word newWord = efContext.Words.Where(z => z.Value.ToLower() == newMeaning.ToLower()).FirstOrDefault(); newWord = newWord ?? new Word() { Value = newMeaning, Language = WordMeaningLanguage }; // if (!wordEntry.Word.WordMeanings.Any(z => z.Word1.Value == newMeaning)) // and speachpart { WordMeaning wm = new WordMeaning() { Word = WordEntry.Word, Word1 = newWord }; wordEntry.Word.WordMeanings.Add(wm); } //newWord.Archived = false; RefreshWordTranslation(); FillAllWordMeanings(); }
private void FillTranslationAlternatives() { var wordMeanings = efContext.WordMeanings.Where(z => z.MasterWord_ID == SelectedLearningWord.Word_ID).ToList(); //if (wordMeanings.Count() == 0) //{ // btnNext_Click(null, null); // return; //} int indexTranslateWord = random.Next(0, wordMeanings.Count()); _wordMeaningRow = wordMeanings.ElementAt(indexTranslateWord); TranslateWord = _wordMeaningRow.Word1; Word baseWord = !(bool)CheckedReverse ? TranslateWord : SelectedLearningWord; //Word secondWord = direct ?_learningWord : TranslateWord; SelectedLearningWord = !(bool)CheckedReverse ? SelectedLearningWord : TranslateWord; var langId = (!(bool)CheckedReverse ? TranslateWord : SelectedLearningWord).Language_ID; ICollection <Word> allWordsBySpeechPart; var allWordsByLang = efContext.Words.Where(z => z.Language_ID == baseWord.Language_ID); if (!(bool)CheckedReverse) { allWordsBySpeechPart = allWordsByLang.Where(z => z.WordMeanings1.Any(y => y.SpeechPart_ID == _wordMeaningRow.SpeechPart_ID)).ToList(); } else { allWordsBySpeechPart = allWordsByLang.Where(z => z.WordMeanings.Any(y => y.SpeechPart_ID == _wordMeaningRow.SpeechPart_ID)).ToList(); } ObservableCollection <Word> chosenWords = randomAllWords(wordMeanings, allWordsBySpeechPart); chosenWords.Add(baseWord); var rndChosenWords = chosenWords.OrderBy(item => random.Next()); ChosenWordMeanings = new ObservableCollection <Word>(rndChosenWords); }