static (List <Word> Words, List <SentenceFragment> SentenceFragment) Query(string filepath, string keyword, DateTime start, DateTime end, int resultLimit) { List <string> textSegments = SqliteDAO.GetText(filepath, start, end, keyword, SqlLimit); List <SentenceFragment> sentenceFragments = new List <SentenceFragment>(); // settings const int MaxWordsAround = 5; List <Word> importantStems = new List <Word>(); List <SentenceFragment> exampleFragments = new List <SentenceFragment>(); WordSequenceParser wordSequenceParser = new WordSequenceParser(new Stemmer(), MaxWordsAround); foreach (string text in textSegments) { sentenceFragments.AddRange(wordSequenceParser.FindSentenceFragments(Tokenizer.GetTokens(text, keyword), keyword)); } IEnumerable <CountedWord> countedStems = wordSequenceParser.CountWordOccurancesInSequences(sentenceFragments); importantStems = countedStems.Where(x => x.Count > 0 && !WordService.IsStopword(x.Word.FullWord) && x.Word.FullWord.Length > 2) .OrderBy(x => x, new CountedWordComparer()) .Select(x => x.Word) .Take(resultLimit).ToList(); exampleFragments = sentenceFragments.Where(s => s.ContainsAnyStems(importantStems)) .Distinct(new SentenceFragmentEqualityComparer()) .Take(resultLimit).ToList(); return(importantStems, exampleFragments); }
private void LoadCitizenList() { citizens = SqliteDAO.loadCitizens(); WireUpCitizensList(); }
private void addPerson_Click(object sender, EventArgs e) { SP_CITIZEN_VO p = new SP_CITIZEN_VO(); p.FIRST_NAME = firstNameText.Text; p.LAST_NAME = lastNameText.Text; SqliteDAO.saveCitizen(p); firstNameText.Text = ""; lastNameText.Text = ""; }