Пример #1
0
        public void findMasterTM()
        {
            try
            {
                foreach (TMListResponse tm in TMlist)
                {
                    if (tm.FriendlyName.ToLower().StartsWith((client + "_" + LanguageHelper.GetLanguageByMemoQCode(sLang).ISOCode + "-"
                                                              + LanguageHelper.GetLanguageByMemoQCode(tLang).ISOCode + "_Master").ToLower()))
                    {
                        MasterTM = tm;
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
                Log.AddLog(ex.Message, false);
            }

            TMListResponse newMaster = new TMListResponse();

            newMaster.TMGuid         = (new Guid()).ToString();
            newMaster.Client         = client;
            newMaster.SourceLangCode = sLang;
            newMaster.TargetLangCode = tLang;
            newMaster.FriendlyName   = client + "_" + LanguageHelper.GetLanguageByMemoQCode(sLang).ISOCode + "-"
                                       + LanguageHelper.GetLanguageByMemoQCode(tLang).ISOCode + "_Master";

            MasterTM = newMaster;
        }
Пример #2
0
        private void ProcessTB()
        {
            int processedEntries = 0;
            int failedEntries    = 0;
            int tbSize;
            Dictionary <int, TBEntry> tbEntriesToUpdate = new Dictionary <int, TBEntry>();

            int lastID = RAPI_Session.GetLastEntryID(tbID.ToString(), out tbLanguages, out tbSize);

            lastID = RAPI_Session.GetLastEntryID(tbID.ToString(), out tbLanguages, out tbSize); // need to run two queries due to server bug
            if (lastID > 0)
            {
                foreach (string lang in tbLanguages)
                {
                    missingTerms.Add(lang, 0);
                }

                Program.mainWindow.updateProgress(10);

                for (int i = 0; i < lastID; i++)
                {
                    try
                    {
                        TBEntry tbEntry;
                        if (RAPI_Session.getTBEntry(tbID.ToString(), i, out tbEntry))
                        {
                            processedEntries++;
                            if (CheckEntry(ref tbEntry))
                            {
                                tbEntriesToUpdate.Add(i, tbEntry);
                                Log.AddLog("TBEntry fixed: " + i + ". Total: " + lastID);
                            }

                            Program.mainWindow.updateProgress(Convert.ToInt32(10 + 90 * processedEntries / tbSize));
                        }
                    }
                    catch (Exception ex)
                    {
                        Log.AddLog("Error while processing TB entry " + i.ToString() + " - " + ex.Message, true);
                        failedEntries++;
                    }
                }
            }

            foreach (int entryID in tbEntriesToUpdate.Keys)
            {
                TBEntry tbe = tbEntriesToUpdate[entryID];
                if (!RAPI_Session.UpdateTBEntry(tbID.ToString(), entryID, tbe))
                {
                    failedEntries++;
                }
            }

            Log.AddLog(processedEntries.ToString() + " termbase entries processed." + (failedEntries == 0 ? "" :
                                                                                       (failedEntries.ToString() + " entries failed")), failedEntries != 0);

            bool isLangMessageDisplayed = false;

            foreach (string key in missingTerms.Keys)
            {
                if (missingTerms[key] > 0)
                {
                    Log.AddLog("For " + LanguageHelper.GetLanguageByMemoQCode(key).DisplayName + " " + missingTerms[key] +
                               " term" + (missingTerms[key] == 1 ? " was" : "s were") + " marked with " +
                               substText + ".", false);
                    isLangMessageDisplayed = true;
                }
            }
            if (!isLangMessageDisplayed)
            {
                Log.AddLog("No missing terms.");
            }
        }