public override async Task InitAsync()
        {
            if (!IsBusy)
            {
                return;
            }

            var name = TodoApp.GetTodoListName(null);

            var nameId = await Group.DownloadIndexLastTransactionInfo(_serviceNode.Client, Chain.ChainType.Data, _serviceNode.ChainId, TodoServiceInfo.TodoDataChainIndex, _invitation.ListId, TodoServiceInfo.TodoListNameIndex);

            if (nameId?.Item?.TransactionId != Operation.InvalidTransactionId)
            {
                var nameTransaction = (await _serviceNode.Client.DownloadDataTransactionItem(_serviceNode.ChainId, TodoServiceInfo.TodoDataChainIndex, nameId.Item.TransactionId)).Data?.Transaction;
                if (nameTransaction != null)
                {
                    var encryptedRecord = TodoList.GetEncrytpedTodoRedord <TodoListNameRecord>(nameTransaction);
                    var record          = await encryptedRecord.GetRecord(_invitation.SecretKey);

                    if (record != null)
                    {
                        name = record.Name;
                    }
                }
            }

            IsBusy = false;

            AddViewRow(new InvitationView(name, _invitation.SenderAccountId));
            AddButtonRow("Profile", Profile);

            AddSubmitRow("Submit", Submit);

            AddHeaderRow("Common.SubmitAccount");
            _submitAccount = AddRow(new SubmitAccountButtonRow(this, () => _serviceNode.GetSubmitAccounts <SubmitAccount>(TodoServiceInfo.TodoSubmitIndex)));
            AddInfoRow("Common.SubmitAccountInfo");
            AddFooterRow();
        }
Exemple #2
0
        async Task BuildTransactionInfo()
        {
            AddIndex = _transactionInfo;

            var transactionData = await _todoList.ServiceNode.GetTransactionDownloadManager(TodoServiceInfo.TodoDataChainIndex).DownloadTransaction(_task.CurrentTaskStorage.TransactionId);

            if (transactionData.Ok && transactionData.Transactions.Count == 1)
            {
                var transaction = transactionData.Transactions[0].Transaction;
                AddIndex = AddViewRow(new DataTransactionView(transaction));

                var encryptedRecord = TodoList.GetEncrytpedTodoRedord <TodoTaskRecord>(transaction);
                if (encryptedRecord != null)
                {
                    AddIndex = AddFooterRow();

                    AddIndex = AddHeaderRow("SecretKeyInfo");
                    AddViewRow(new SecretKeyView(encryptedRecord.KeyInfo, true));
                }
            }

            AddIndex = null;
        }