public async Task <string> SetCurrentDict(string numOrName) { if (await _dictSearcher.SetDict(numOrName)) { return(_dictSearcher.GetCurrentDictInfo()?.BookName); } return(null); }
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); } }