private async Task <List <Views.Service.SelectDialogPayload> > GenerateUserCandidateList(string word) { var list = new List <Views.Service.SelectDialogPayload>(); // word is numbers int maybeMylistId; if (int.TryParse(word, out maybeMylistId)) { // ユーザーが存在するかチェック var userId = word; try { var userInfo = await HohoemaApp.ContentFinder.GetUserInfo(userId); if (userInfo != null) { var result = new Views.Service.SelectDialogPayload() { Id = userId, Label = userInfo.Nickname }; list.Add(result); } } catch { } } // word is text else { // TODO: ユーザーのローカルDBから選択候補ユーザーの検索 /* * Models.Db.UserInfoDb. * var searchResult = await HohoemaApp.NiconicoContext.Search.MylistSearchAsync(word, limit: 10); * if (searchResult != null && searchResult.IsOK && searchResult.MylistGroupItems != null) * { * foreach (var searchItem in searchResult.MylistGroupItems) * { * list.Add(new Views.Service.SelectDialogPayload() * { * Id = searchItem.Id, * Label = searchItem.Name * }); * } * } */ } return(list); }
private async Task <List <Views.Service.SelectDialogPayload> > GenerateMylistCandidateList(string word) { var list = new List <Views.Service.SelectDialogPayload>(); // word is numbers int maybeMylistId; if (int.TryParse(word, out maybeMylistId)) { // マイリストが実在するかチェック var mylistId = word; try { var mylistDetail = await HohoemaApp.ContentFinder.GetMylistGroupDetail(mylistId); if (mylistDetail != null) { var result = new Views.Service.SelectDialogPayload() { Id = mylistId, Label = mylistDetail.MylistGroup.Name }; list.Add(result); } } catch { } } // word is text else { // マイリスト検索の上位10件を取得 var searchResult = await HohoemaApp.NiconicoContext.Search.MylistSearchAsync(word, limit : 10); if (searchResult != null && searchResult.IsOK && searchResult.MylistGroupItems != null) { foreach (var searchItem in searchResult.MylistGroupItems) { list.Add(new Views.Service.SelectDialogPayload() { Id = searchItem.Id, Label = searchItem.Name }); } } } return(list); }