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