Example #1
0
        private void Read()
        {
            if (!dbConnector.IsParagraphExists(paragraphID))
            {
                return;
            }
            // Чтение списка предложений
            var sMapList = dbConnector.ReadPhraseDB(paragraphID);

            foreach (var sent in sMapList)
            {
                var phID = sent.SentenceID;
                // Чтение данных о словах
                var wstructs = dbConnector.ReadPhraseContentDB(phID);
                for (int i = 0; i < wstructs.Count; i++)
                {
                    var wstr = wstructs[i];
                    // В БД не хранится ID словарной статьи GREN.
                    var word = new WordMap(-1, wstr.sp_id);
                    word.EntryName = wstr.lemma;
                    word.RealWord  = wstr.realWord;
                    word.rcind     = wstr.rcind;
                    word.order     = i;
                    // Чтение граммем слова
                    var grammems = dbConnector.ReadGrammemsDB(wstr.с_id);
                    foreach (var pair in grammems)
                    {
                        word.AddPair(pair.Key, pair.Value);
                    }
                    sent.AddWord(i, word);
                }
                // Чтение списка синтаксических связей предложения
                var nodelist = dbConnector.ReadSyntNodesDB(phID);
                for (int i = 0; i < nodelist.Count; i++)
                {
                    var node = nodelist[i];
                    sent.AddNode(i, node.Level, node.linktype, node.parentind);
                }
                sentlist.Add(sent);
            }
        }
Example #2
0
 public void Fill(long ParagraphID)
 {
     CanOperate  = true; // TODO Сделать проверку на блокировку
     NeedOperate = OpersDB.odNone;
     if (ParagraphID == -1)
     {
         NeedOperate = OpersDB.odInsert;
     }
     else
     {
         // проверить существование записи
         if (dbConnector.IsParagraphExists(ParagraphID))
         {
             NeedOperate = OpersDB.odUpdate;
         }
         else
         {
             NeedOperate = OpersDB.odInsert;
         }
     }
 }