Beispiel #1
0
        public bool OnClearSelectedWordParserAnalyses(object argument)
        {
            WfiWordform wf = CurrentWordform;

            if (wf == null)
            {
                MessageBox.Show(ParserUIStrings.ksSelectWordFirst);
            }
            else
            {
                if (CurrentWordformHvo > 0)
                {
                    using (WfiWordformUi wfui = new WfiWordformUi(WfiWordform.CreateFromDBObject(m_cache, CurrentWordformHvo)))
                    {
                        if (m_cache.DatabaseAccessor.IsTransactionOpen())
                        {
                            m_cache.DatabaseAccessor.CommitTrans();
                        }
                        m_cache.DatabaseAccessor.BeginTrans();
                        DbOps.ExecuteStoredProc(
                            m_cache,
                            string.Format("EXEC RemoveParserApprovedAnalyses$ {0}", CurrentWordformHvo),
                            null);
                        m_cache.DatabaseAccessor.CommitTrans();
                        wfui.UpdateWordsToolDisplay(CurrentWordformHvo, false, false, true, true);
                    }
                }
            }

            return(true);               //we handled this.
        }
Beispiel #2
0
        /// <summary>
        /// Have the utility do what it does.
        /// </summary>
        public void Process()
        {
            Debug.Assert(m_dlg != null);
            FdoCache   cache       = (FdoCache)m_dlg.Mediator.PropertyTable.GetValue("cache");
            List <int> wordformIds = DbOps.ReadIntsFromCommand(
                cache,
                "SELECT Id FROM WfiWordform",
                null);
            int curObjId = 0;

            if (m_dlg.Mediator != null)
            {
                Mediator    mediator    = m_dlg.Mediator;
                RecordClerk activeClerk = (RecordClerk)mediator.PropertyTable.GetValue("ActiveClerk");
                if (activeClerk != null && activeClerk.Id == "concordanceWords" && activeClerk.CurrentObject != null)
                {
                    curObjId = activeClerk.CurrentObject.Hvo;
                }
            }

            // Set up progress bar.
            m_dlg.ProgressBar.Minimum = 0;
            m_dlg.ProgressBar.Maximum = wordformIds.Count;
            m_dlg.ProgressBar.Step    = 1;

            // stop parser if it's running.
            m_dlg.Mediator.SendMessage("StopParser", null);

            if (wordformIds.Count > 0)
            {
                if (cache.DatabaseAccessor.IsTransactionOpen())
                {
                    cache.DatabaseAccessor.CommitTrans();
                }
                foreach (int wfId in wordformIds)
                {
                    cache.DatabaseAccessor.BeginTrans();
                    DbOps.ExecuteStoredProc(
                        cache,
                        string.Format("EXEC RemoveParserApprovedAnalyses$ {0}", wfId),
                        null);
                    cache.DatabaseAccessor.CommitTrans();
                    using (WfiWordformUi wfui = new WfiWordformUi(WfiWordform.CreateFromDBObject(cache, wfId)))
                    {
                        wfui.UpdateWordsToolDisplay(curObjId, false, false, true, true);
                    }
                    m_dlg.ProgressBar.PerformStep();
                }
            }
            else
            {
                m_dlg.ProgressBar.PerformStep();
            }
        }