Example #1
0
        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();
        }
Example #2
0
        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);
        }