예제 #1
0
        /// <summary>
        /// Robi wszystko co potrzeba żeby przyporządkować miary prawdopodobieństwa do dokumentów
        /// </summary>
        /// <param name="zapytanie">Zapytanie usera</param>
        public void DajCzadu(string zapytanie, ProgressBar progBar)
        {
            progBar.Value = 0;
            Term[] termyZapytania = PrzerobNaTermy(zapytanie);

            // zapytanie traktujemy jak dokument
            Dokument zapDok = new Dokument
            {
                Termy = termyZapytania.ToList()
            };
            zapDok.WypelnijWektory(this.termy, this.LiczIDF());

            for (int i = 0; i < this.dokumenty.Count && this.dokumenty.Count > 0; i++)
            {
                progBar.Dispatcher.Invoke(DispatcherPriority.Render, new ThreadStart(delegate
                {
                    progBar.Value = ((i + 1) * 100) / this.dokumenty.Count;
                    progBar.InvalidateVisual();
                    progBar.UpdateLayout();
                }));
                this.dokumenty[i].WypelnijWektory(this.termy, zapDok, this.LiczIDF());
            }
            progBar.Value = 0;
        }