示例#1
0
        public bool Transfer(string treatailAssetId, string fromAddress, string toAddress)
        {
            var transferRequest = new AssetTransferRequest
            {
                PrivateKeyHex   = _privateKeyHex,
                TreatailAssetId = treatailAssetId,
                FromAddress     = fromAddress,
                ToAddress       = toAddress
            };

            var url    = string.Format("{0}/Transfer", _assetServiceBaseUrl);
            var result = ServicesHelper.CallService(ServiceAction.POST, _apiKey, url, JsonConvert.SerializeObject(transferRequest));

            return(JsonConvert.DeserializeObject <bool>(result));
        }
        public void AssetTransfer(
            AssetTransferRequest assetTransferRequest, bool validateOnlyFlag)
        {
            assetTransferRequest.ResponseMessage = new ResponseMessage(HttpStatusCode.InternalServerError);

            string message;

            try
            {
                var continueProcessing = false;
                sapConnect.MakeCookieConnection(true);
                if (sapConnect.r3Connection != null && sapConnect.r3Connection.IsOpen == true)
                {
                    continueProcessing = true;
                    Log.Information("Connection established successfully.");
                }
                else
                {
                    message = "Make Sso Connection returned no connection";
                    Log.Error(message);
                    assetTransferRequest.ResponseMessage =
                        new ResponseMessage(
                            HttpStatusCode.InternalServerError,
                            message);
                }
                if (continueProcessing)
                {
                    new bapiCalls()
                    .SapAssetTransfer(
                        sapConnect.r3Connection,
                        assetTransferRequest,
                        validateOnlyFlag);
                }
            }
            catch (Exception exception)
            {
                Log.Error(exception, "Error Getting SSO Ticket: exception");
            }
        }
示例#3
0
        // POST api/assetTransfer
        public HttpResponseMessage Post(
            [FromBody] AssetTransferRequest assetTransferRequest,
            bool?validateOnly = null)
        {
            var result = new HttpResponseMessage(HttpStatusCode.InternalServerError);

            try
            {
                if (assetTransferRequest == null ||
                    assetTransferRequest.TransferRecords == null ||
                    assetTransferRequest.TransferRecords.Count == 0)
                {
                    var message = "Asset Transfer web service call missing BODY parameters";
                    Log.Warning(message);

                    assetTransferRequest =
                        new AssetTransferRequest(
                            null,
                            new ResponseMessage(
                                HttpStatusCode.BadRequest,
                                message
                                )
                            );
                }
                else
                {
                    Log.Information(
                        "Call received - parameters: {params}",
                        JsonConvert.SerializeObject(assetTransferRequest));

                    SapAccess sapAccess = null;
                    try
                    {
                        sapAccess = new SapAccess();
                        this.Request.RegisterForDispose(sapAccess);


                        var validateOnlyFlag = validateOnly ?? false;

                        sapAccess.AssetTransfer(
                            assetTransferRequest, validateOnlyFlag);
                    }
                    finally
                    {
                        // sapAccess?.Dispose();
                    }
                }
            }
            catch (Exception exception)
            {
                assetTransferRequest.ResponseMessage =
                    new ResponseMessage(HttpStatusCode.InternalServerError,
                                        exception.Message);
                Log.Error(exception, "Error inside assetTransfer");
            }
            finally
            {
            }

            result.Content =
                new StringContent(
                    JsonConvert.SerializeObject(assetTransferRequest),
                    System.Text.Encoding.UTF8,
                    "application/json");
            result.StatusCode = assetTransferRequest.ResponseMessage.responseCode;
            Log.Information(
                "Response - parameters: {params}",
                JsonConvert.SerializeObject(assetTransferRequest));
            return(result);
        }