示例#1
0
 public async Task <string> SetCurrentDict(string numOrName)
 {
     if (await _dictSearcher.SetDict(numOrName))
     {
         return(_dictSearcher.GetCurrentDictInfo()?.BookName);
     }
     return(null);
 }
示例#2
0
        public async Task Processing(CommandOptions options)
        {
            if (options.ListDicts)
            {
                _drawer.ListAllDictInfo(_dictParser.InfoList);
            }
            else if (options.DictNum != null && options.DictNum > 0 && options.DictNum <= _dictParser.InfoList?.Count)
            {
                var info = _dictParser.InfoList[options.DictNum.Value - 1];
                var dict = await _dictParser.GetDictBytes(info.DirAndFileName.Item1, info.DirAndFileName.Item2);

                if (await _searcher.SetDict(dict, info))
                {
                    Console.WriteLine($"set current dict to: {info.BookName}.", Color.Gold);
                    await OnSetCurrentDict?.Invoke(info.BookName);
                }
            }
            else if (false == string.IsNullOrWhiteSpace(options.Word))
            {
                var result = await _searcher.Search(options.Word);

                _drawer.DrawSearchResult(result);
            }
        }