public QueryDictResult getTranslation(string inText) { QueryDictResult result = new QueryDictResult(inText); // search in local dictionary try { QueryDictResult localDictResult = dictDAO.getEntry(inText.ToUpper()); if (!localDictResult.IsEmpty) { localDictResult.sourceText = localDictResult.sourceText.ToLower(); Macros.userMsg(Constants.LOCAL_DICT_WORD_FOUND); return(localDictResult); } else { Macros.userMsg(Constants.LOCAL_DICT_WORD_NOT_FOUND); } } catch (Exception ex) { log.Debug(ex.StackTrace); log.Debug("Setting result to empty object"); Macros.userMsg(Constants.LOCAL_DICT_WORD_FAIL, ex.Message); result = new QueryDictResult(inText); } // search in web dictionary try { Macros.userMsg(Constants.WEB_DICT_SEARCH); var webDict = new WebDictEngToSpa(); var webResult = new QueryDictResult(inText); webDict.searchText(inText, webResult); if (!webResult.IsEmpty) { QueryDictResult resultToSave = webResult.getClone(); // normalize text resultToSave.sourceText = resultToSave.sourceText.ToUpper(); dictDAO.saveEntry(resultToSave); result = webResult; return(result); } } catch (Exception ex) { log.Debug(ex.StackTrace); log.Debug("Setting result to empty object"); Macros.userMsg(Constants.WEB_DICT_FAIL, ex.Message); result = new QueryDictResult(inText); result.sourceText = inText; } result.sourceText = inText; return(result); }