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(); }
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; }