Beispiel #1
0
        public async Task <IHttpActionResult> GetValueForX(int userId)
        {
            var contract = _contractRepository.GetAll().ToList()
                           .Where(item => item.Name == CONTRACT_NAME).FirstOrDefault();

            if (contract != null)
            {
                var user = _userRepository.GetByID(userId);
                if (user != null)
                {
                    var userAccount = _userAccountRepository.GetAll().ToList().Where(item => item.UserId == user.Id).FirstOrDefault();

                    var node = _nodeRepository.GetByID(user.NodeId);
                    if (node != null && userAccount != null)
                    {
                        var accessKey = _accessKeyRepository.GetAll().ToList().Where(item => item.NodeId == node.Id).FirstOrDefault();
                        if (accessKey != null)
                        {
                            var managedAccount = new QuorumAccount(userAccount.Address);
                            var web3Managed    = new Web3Quorum(managedAccount, accessKey.UrlKey);
                            var unlocked       = await web3Managed.Personal.UnlockAccount.SendRequestAsync(userAccount.Address, userAccount.Password, 120);

                            var service         = new HelloService(web3Managed, contract.Address);
                            var contractHandler = service.ContractHandler;

                            /// Receipt is coming  as null
                            var receipt2 = await service.GetMessageQueryAsync(
                                new GetMessageFunction()
                                );


                            return(Ok(receipt2));
                        }
                    }
                }
            }

            return(Ok("Cannot value for X "));
        }