Example #1
0
        public static void SaveWord(EnglishWordSqliteHelper englishWordDbHleper, EnglishWordTranslationData wordData)
        {
            if (string.IsNullOrEmpty(wordData.Word))
            {
                return;
            }
            var previousWord = englishWordDbHleper.GetWord(wordData.Word);

            WordInfo newWord = new WordInfo();

            newWord.Word = wordData.Word;
            var sentenceSaveInfos = GetSentenceSaveInfos(wordData);
            var newSemanticList   = GetSemanticSaveInfos(wordData);
            var phraseSaveInfos   = GetPhraseSaveInfos(wordData);
            var synonymSaveInfos  = GetSynonymInfos(wordData);
            var cognateSaveInfos  = GetCognateInfos(wordData);

            if (previousWord != null)
            {
                var pronounceFileName = previousWord.PronounceFileName;
                SetWordPronounceInfo(wordData, ref pronounceFileName, out string pronounce);
                newWord.Pronounce         = pronounce;
                newWord.PronounceFileName = pronounceFileName;
                newWord.Semantic          = string.IsNullOrEmpty(previousWord.Semantic) ?
                                            newSemanticList.Count > 0 ? JsonConvert.SerializeObject(newSemanticList) : string.Empty : previousWord.Semantic;
                newWord.Phrase = string.IsNullOrEmpty(previousWord.Phrase) ?
                                 phraseSaveInfos.Count > 0 ? JsonConvert.SerializeObject(phraseSaveInfos) : string.Empty : previousWord.Phrase;
                newWord.Sentence = string.IsNullOrEmpty(previousWord.Sentence) ?
                                   sentenceSaveInfos.Count > 0 ? JsonConvert.SerializeObject(sentenceSaveInfos) : string.Empty : previousWord.Sentence;
                newWord.Synonym = string.IsNullOrEmpty(previousWord.Synonym) ?
                                  synonymSaveInfos.Count > 0 ? JsonConvert.SerializeObject(synonymSaveInfos) : string.Empty : previousWord.Synonym;
                newWord.Cognate = string.IsNullOrEmpty(previousWord.Cognate) ?
                                  cognateSaveInfos.Count > 0 ? JsonConvert.SerializeObject(cognateSaveInfos) : string.Empty : previousWord.Cognate;

                englishWordDbHleper.UpdateWordInfo(newWord);
            }
            else
            {
                var pronounceFileName = string.Empty;
                SetWordPronounceInfo(wordData, ref pronounceFileName, out string pronounce);
                newWord.Pronounce         = pronounce;
                newWord.PronounceFileName = pronounceFileName;

                newWord.Semantic = newSemanticList.Count > 0 ? JsonConvert.SerializeObject(newSemanticList) : string.Empty;
                newWord.Phrase   = phraseSaveInfos.Count > 0 ? JsonConvert.SerializeObject(phraseSaveInfos) : string.Empty;
                newWord.Sentence = sentenceSaveInfos.Count > 0 ? JsonConvert.SerializeObject(sentenceSaveInfos) : string.Empty;
                newWord.Synonym  = synonymSaveInfos.Count > 0 ? JsonConvert.SerializeObject(synonymSaveInfos) : string.Empty;
                newWord.Cognate  = cognateSaveInfos.Count > 0 ? JsonConvert.SerializeObject(cognateSaveInfos) : string.Empty;
                englishWordDbHleper.SaveWord(newWord);
            }
        }
 //private EnglishWordSqliteHelper _englishWordOutput;
 public MainWindow()
 {
     InitializeComponent();
     _englishWordSource = new EnglishWordSqliteHelper(CustomPathUtil.DbSourcePath);
     //_englishWordOutput = new EnglishWordSqliteHelper(CustomPathUtil.DbOuputPath);
 }