public override WordOfDictionary TranslateWord(string word,Language SourceLang,Language TargetLang) { WordOfDictionary WordOfDictionary = new WordOfDictionary(); LinguaLeoAPI.TranslateAPIResponse resp = api.TranslateWord_withoutlogin(word); WordOfDictionary.word_of_dictionary = word; WordOfDictionary.outer_id = resp.word_id; WordOfDictionary.transcription = resp.transcription; WordOfDictionary.sound_url = resp.sound_url; WordOfDictionary.pictures_url = resp.pic_url; foreach(var elm in resp.translate) { TranslationOfWord tr = new TranslationOfWord(); tr.external_id = elm.id; tr.Translation = elm.value; tr.Votes = elm.votes; //tr.picture_url = elm.pic_url; tr.SetPictureUrl(elm.pic_url); WordOfDictionary.translations.Add(tr); } if (WordOfDictionary.translations.Count > 0) { WordOfDictionary.translation_as_string = WordOfDictionary.translations.OrderByDescending(x => x.Votes).First().Translation; WordOfDictionary.translations[0].Selected = true; WordOfDictionary.translations[0].Index_of_selection = 1; } return WordOfDictionary; }
public void AddTranslationWithExternalId(int external_id_,string str_translation,SpeechParts part) { TranslationOfWord translation = translations.Where(x => x.external_id == external_id_).FirstOrDefault(); if (translation == null) { translation = new TranslationOfWord(); translations.Add(translation); } translation.external_id = external_id_; translation.Translation = str_translation; translation.SpeechPart = part; OnPropertyChanged(()=>translation_as_string); }
public void DeleteSelectedTranslation_Cmd(TranslationOfWord transl) { transl.Selected = false; transl.Index_of_selection = 0; selected_translation.Remove(transl); int idx = 1; foreach (var elm in selected_translation.ToList()) { elm.Index_of_selection = idx; idx++; } }
public void AddSelectedTranslation_Cmd(TranslationOfWord transl) { transl.Selected = true; transl.Index_of_selection = selected_translation_.Count + 1; selected_translation.Add(transl); }
EFDbConnect CreateDemoBase(string db_name) { string path = PathToDb(db_name); if (File.Exists(path)) { File.Delete(path); } ILogger ILoggerMock = Mock.Of<ILogger>(); ISQLitePlatform platf = new SQLitePlatformWin32(); EFDbConnect EFDbConnect = new EFDbConnect(platf, path); EFDbContext ctx = new EFDbContext(EFDbConnect); LearningItem li1 = new LearningItem(); li1.Name = "First"; ctx.AddNewItemToDBContext(li1); LearningItem li2 = new LearningItem(); li2.Name = "Second"; ctx.AddNewItemToDBContext(li2); // Audio tracks AudioTrack at1 = new AudioTrack(); li1.AudioTracks.Add(at1); AudioTrack at2 = new AudioTrack(); li1.AudioTracks.Add(at2); AudioTrack at3 = new AudioTrack(); li2.AudioTracks.Add(at3); // Frequency dictionary FrequencyDictionary fd1 = new FrequencyDictionary(); FrequencyDictionary fd2 = new FrequencyDictionary(); FrequencyDictionary.Item fdi1 = new FrequencyDictionary.Item(); fd1.Items.Add(fdi1); FrequencyDictionary.Item fdi2 = new FrequencyDictionary.Item(); fd1.Items.Add(fdi2); FrequencyDictionary.Item fdi3 = new FrequencyDictionary.Item(); fd2.Items.Add(fdi3); FrequencyDictionary.Item fdi4 = new FrequencyDictionary.Item(); fd2.Items.Add(fdi4); // Languages Language lang1 = new Language(); lang1.FrequencyDictionary = fd1; Language lang2 = new Language(); lang2.FrequencyDictionary = fd2; Subtitles sub1 = new Subtitles(); li1.SubtitleCollection.Add(sub1); sub1.SecondaryLanguage = lang1; Subtitles sub2 = new Subtitles(); li1.SubtitleCollection.Add(sub2); SubtitleItem si1 = new SubtitleItem(); sub1.Items.Add(si1); SubtitleItem si2 = new SubtitleItem(); sub1.Items.Add(si2); SubtitleItem si3 = new SubtitleItem(); sub2.Items.Add(si3); SubtitleItem si4 = new SubtitleItem(); sub2.Items.Add(si4); Subtitles sub3 = new Subtitles(); li2.SubtitleCollection.Add(sub3); sub3.SecondaryLanguage = lang2; SubtitleItem si5 = new SubtitleItem(); sub3.Items.Add(si5); WordOfSubtitleItem sw1 = new WordOfSubtitleItem(); si1.WordsCollection.Add(sw1); WordOfSubtitleItem sw2 = new WordOfSubtitleItem(); si1.WordsCollection.Add(sw2); WordOfSubtitleItem sw3 = new WordOfSubtitleItem(); si5.WordsCollection.Add(sw3); // Dictionary Dictionary dic1 = new Dictionary(); ctx.AddNewItemToDBContext(dic1); WordOfDictionary wd1 = new WordOfDictionary(); dic1.Words.Add(wd1); TranslationOfWord tw1 = new TranslationOfWord(); wd1.translations.Add(tw1); TranslationOfWord tw2 = new TranslationOfWord(); wd1.translations.Add(tw2); WordOfDictionary wd2 = new WordOfDictionary(); dic1.Words.Add(wd2); sw1.word_of_dictionary = wd1; sw2.word_of_dictionary = wd2; Dictionary dic2 = new Dictionary(); ctx.AddNewItemToDBContext(dic2); WordOfDictionary wd3 = new WordOfDictionary(); dic1.Words.Add(wd3); WordOfDictionary wd4 = new WordOfDictionary(); dic1.Words.Add(wd4); sw3.word_of_dictionary = wd3; ctx.SaveChanges(); return EFDbConnect; }
public void AddOrUpdateWord(WordOfDictionary currentWord) { //string strWord = currentWord.word_of_dictionary.ToLower(); //WordOfDictionary searchedWord = Words.Where(x => x.word_of_dictionary.ToLower() == strWord).FirstOrDefault(); WordOfDictionary searchedWord = FindWord(currentWord.word_of_dictionary); if (searchedWord == null) { WordOfDictionary newword = new WordOfDictionary { commentary = currentWord.commentary, word_of_dictionary = currentWord.word_of_dictionary, PictureFile = currentWord.PictureFile, SpeechPart = currentWord.SpeechPart, context = currentWord.context, outer_id = currentWord.outer_id, pictures_url = currentWord.pictures_url, sound_url = currentWord.sound_url, SoundFile = currentWord.SoundFile, Status = currentWord.Status, transcription = currentWord.transcription, translations = new SynchronizedObservableCollection<TranslationOfWord>(), translation_as_string = currentWord.translation_as_string, }; foreach(TranslationOfWord transl in currentWord.translations) { TranslationOfWord newtransl = new TranslationOfWord { external_id = transl.external_id, picture_url = transl.picture_url, SpeechPart = currentWord.SpeechPart, Translation = transl.Translation, Votes = transl.Votes, Selected = transl.Selected, Index_of_selection = transl.Index_of_selection, }; newword.translations.Add(newtransl); } LearningWordStrategy.InitializeWord(newword); Words.Add(newword); } else { throw new NotImplementedException(); } }