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