コード例 #1
0
        /// <summary>
        /// Refresh the messages list
        /// </summary>
        /// <param name="innfts"></param>
        /// <returns></returns>
        public async Task RefreshMessages(List <INFT> innfts)
        {
            if (!PublicKeyFound)
            {
                var bobPubKey = await NFTHelpers.GetPubKeyFromLastFoundTx(Address);

                if (bobPubKey.Item1)
                {
                    PublicKey      = bobPubKey.Item2;
                    PublicKeyFound = true;
                }
                else
                {
                    PublicKeyFound = false;
                }
            }
            var msgs = await NFTHelpers.LoadAddressNFTMessages(Address, AccountAddress, NFTs);

            lock (_lock)
            {
                NFTMessages = msgs;
            }
            // add related messages from main account
            await AddAccoundMessages(innfts);

            if (AccountSecret != null)
            {
                await DecryptMessages();
            }

            NFTMessages = NFTMessages.OrderBy(m => m.Time).Reverse().ToList();
        }
コード例 #2
0
        /// <summary>
        /// Add messages from the main account to the list
        /// This will combine list of received and sent messages to one list
        /// </summary>
        /// <param name="innfts"></param>
        /// <returns></returns>
        public async Task AddAccoundMessages(List <INFT> innfts)
        {
            var msgs = await NFTHelpers.LoadAddressNFTMessages(Address, AccountAddress, innfts);

            lock (_lock)
            {
                foreach (var m in msgs)
                {
                    NFTMessages.Add(m);
                }
            }
        }