Ejemplo n.º 1
0
        public Supervisor(string assetId, string buyerAddress = "",
                          string ownerAddress = "")
        {
            requestObject = new SaleDeedRegistryRequest
            {
                GasPrice       = gasPrice,
                GasLimit       = gasLimit,
                Amount         = amount,
                Sender         = sender,
                BuyerAddress   = buyer,
                FeeAmount      = fee,
                WalletName     = walletName,
                WalletPassword = walletPassword,
                OwnerAddress   = propertyOwner,
                AssetId        = assetId
            };

            // Override if we have these values

            if (!string.IsNullOrEmpty(buyerAddress))
            {
                requestObject.BuyerAddress = buyerAddress;
            }

            if (!string.IsNullOrEmpty(ownerAddress))
            {
                requestObject.OwnerAddress = ownerAddress;
            }

            saleRegistryFacade = new SaleRegistryFacade(smartContractUrl, contractAddress);
        }
        /// <summary>
        /// Get the Property State
        /// </summary>
        /// <param name="requestEntity">RequestEntity</param>
        /// <returns>HttpResponseMessage</returns>
        public async Task <HttpResponseMessage> GetPropertyState(SaleDeedRegistryRequest requestEntity)
        {
            using (var httpClient = new HttpClient())
            {
                using (var httpRequest = new HttpRequestMessage(new HttpMethod("POST"), $"{baseUrl}/api/contract/{contractAddress}/method/GetPropertyState"))
                {
                    SetRequestHeader(requestEntity, httpRequest);

                    httpRequest.Content = new StringContent("{  \"assetId\": \"{0}\"}".Replace("{0}", requestEntity.AssetId));
                    httpRequest.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

                    var response = await httpClient.SendAsync(httpRequest);

                    return(response);
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Use this constructor for performing operations like
        /// Get Application State.
        /// </summary>
        /// <param name="assetId">AssetId</param>
        public Supervisor(string assetId)
        {
            requestObject = new SaleDeedRegistryRequest
            {
                GasPrice       = gasPrice,
                GasLimit       = gasLimit,
                Amount         = amount,
                Sender         = sender,
                BuyerAddress   = buyer,
                FeeAmount      = fee,
                WalletName     = walletName,
                WalletPassword = walletPassword,
                OwnerAddress   = propertyOwner,
                AssetId        = assetId
            };

            saleRegistryFacade = new SaleRegistryFacade(smartContractUrl,
                                                        contractAddress);
        }
        /// <summary>
        /// Execute the Action based on the specified one in the parameter
        /// </summary>
        /// <param name="requestEntity">RequestObject</param>
        /// <param name="action">Action</param>
        /// <returns>HttpResponseMessage</returns>
        private async Task <HttpResponseMessage> Execute(SaleDeedRegistryRequest requestEntity,
                                                         string action)
        {
            using (var httpClient = new HttpClient())
            {
                using (var httpRequest = new HttpRequestMessage(new HttpMethod("POST"), $"{baseUrl}/api/contract/{contractAddress}/method/{action}"))
                {
                    SetRequestHeader(requestEntity, httpRequest);

                    dynamic expando = new ExpandoObject();
                    expando.propertyOwnerAddress = requestEntity.OwnerAddress;
                    expando.buyerAddress         = requestEntity.BuyerAddress;
                    expando.assetId = requestEntity.AssetId;

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

                    var response = await httpClient.SendAsync(httpRequest);

                    return(response);
                }
            }
            //
        }
 /// <summary>
 /// Re-Apply Application
 /// </summary>
 /// <param name="requestObject">RequestObject</param>
 /// <returns>HttpResponseMessage</returns>
 public async Task <HttpResponseMessage> ReApplyApplication(SaleDeedRegistryRequest requestObject)
 {
     return(await Execute(requestObject, "ReApply"));
 }
 /// <summary>
 /// Complete Review Process
 /// </summary>
 /// <param name="requestObject">RequestObject</param>
 /// <returns>HttpResponseMessage</returns>
 public async Task <HttpResponseMessage> CompleteReview(SaleDeedRegistryRequest requestObject)
 {
     return(await Execute(requestObject, "CompleteReviewProcess"));
 }