public override async Task InitAsync() { var accounts = await GroupAdministration.DownloadAccounts(_todoList.ServiceNode.Client, ChainType.Data, _todoList.ServiceNode.ChainId, TodoServiceInfo.GroupChainIndex, _todoList.ListId); var pendingAccounts = await GroupAdministration.DownloadPendingAccounts(_todoList.ServiceNode.Client, ChainType.Data, _todoList.ServiceNode.ChainId, TodoServiceInfo.GroupChainIndex, _todoList.ListId); IsBusy = false; if (accounts?.Item == null || pendingAccounts?.Item == null) { InfoFrame("DownloadFailed"); return; } if (accounts.Item.Count > 0) { AddHeaderRow("ActiveUsers"); foreach (var account in accounts.Item) { var b = AddRow(new ProfileButtonRow(account.Key, User)); b.Tag = false; Status.AddBusyView(b); } AddFooterRow(); } if (pendingAccounts.Item.Count > 0) { AddHeaderRow("PendingUsers"); foreach (var account in pendingAccounts.Item) { var b = AddRow(new ProfileButtonRow(account.Key, User)); b.Tag = true; Status.AddBusyView(b); } AddFooterRow(); } AddHeaderRow("Invite"); var invite = AddButtonRow("InviteButton", Invite); invite.RowStyle = Theme.SubmitButton; Status.AddBusyView(invite); AddFooterRow(); }
public async Task <bool> QueryTodoListIds() { var groupData = await GroupAdministration.DownloadGroups(_serviceNode.Client, Chain.ChainType.Data, _serviceNode.ChainId, TodoServiceInfo.GroupChainIndex, _serviceNode.AccountId); var groupIds = groupData?.Value; if (groupIds != null) { foreach (var groupId in groupIds) { AddGroupId(groupId); } await SaveAsync(); return(true); } await UIApp.PubSub.PublishAsync(new QueryTodoEvent(QueryTodoResult.DownloadError, this)); return(false); }