Esempio n. 1
0
        /// <summary>
        /// Transfer Ownership
        /// </summary>
        /// <returns>ReceiptResponse</returns>
        public async Task <ReceiptResponse> TransferOwnership(string seller,
                                                              string buyer)
        {
            ReceiptResponse receiptResponce = null;
            SaleDeedTransferOwnershipRequest transferOwnershipEntity = new SaleDeedTransferOwnershipRequest
            {
                GasPrice       = gasPrice,
                GasLimit       = gasLimit,
                Amount         = amount,
                Sender         = sender,
                BuyerAddress   = buyer,
                FeeAmount      = fee,
                WalletName     = walletName,
                WalletPassword = walletPassword,
                OwnerAddress   = seller,
                AssetId        = requestObject.AssetId
            };

            System.Console.WriteLine("Trying to execute the SaleDeed -> TransferOwnership Request");

            var ownershipResponse = await saleRegistryFacade.TransferOwnership(transferOwnershipEntity);

            System.Console.WriteLine("Completed executing SaleDeed -> TransferOwnership Request");

            var commandResponse = JsonConvert.DeserializeObject <CommandResponse>(ownershipResponse.Content.ReadAsStringAsync().Result);

            if (commandResponse.success)
            {
                receiptResponce = await saleRegistryFacade.TryReceiptResponse(commandResponse.transactionId);

                if (receiptResponce != null && receiptResponce.success)
                {
                    Dump(receiptResponce);
                }
                else
                {
                    System.Console.WriteLine("TransferOwnership -> Receipt Response Error");
                    Dump(receiptResponce);
                }
            }
            return(receiptResponce);
        }
        /// <summary>
        /// Transfer Ownership
        /// </summary>
        /// <param name="requestObject">RequestObject</param>
        /// <returns>HttpResponseMessage</returns>
        public async Task <HttpResponseMessage> TransferOwnership(SaleDeedTransferOwnershipRequest ownershipEntity)
        {
            using (var httpClient = new HttpClient())
            {
                using (var httpRequest = new HttpRequestMessage(new HttpMethod("POST"), $"{baseUrl}/api/contract/{contractAddress}/method/TransferOwnership"))
                {
                    SetRequestHeader(ownershipEntity, httpRequest);

                    dynamic expando = new ExpandoObject();
                    expando.propertyOwner = ownershipEntity.OwnerAddress;
                    expando.propertyBuyer = ownershipEntity.BuyerAddress;
                    expando.assetId       = ownershipEntity.AssetId;

                    httpRequest.Content = new StringContent(JsonConvert.SerializeObject(expando));
                    httpRequest.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

                    var response = await httpClient.SendAsync(httpRequest);

                    return(response);
                }
            }
        }