public GenericResponse CancelOrder(TransactionCancelOrderRequest value)
        {
            try
            {
                VerifySignature(value.Body, value.Signature, value.Body.Owner);

                if (!ApplicationState.IsChainUpToDate)
                {
                    return(new GenericResponse(null, ResponseCodes.Success, ResponseMessages.NodeNotConsensusReady));
                }

                //Perform transaction
                TransactionServices transactionService = new TransactionServices();
                string txId = transactionService.CancelOrder(
                    value.Body.Nonce,
                    Convert.ToDecimal(value.Body.Fee),
                    value.Body.OrderTransactionId,
                    value.Body.Owner);

                ApplicationLog.Info("Transaction added to queue for next block. TxId: " + txId);
                return(new GenericResponse(txId, ResponseCodes.Success, "Transaction added to queue for next block."));
            }
            catch (ValidationException vex)
            {
                ApplicationLog.Warn("ValidationException [" + vex.Code + "]: " + vex.Message);
                return(new GenericResponse(null, vex.Code, vex.Message));
            }
            catch (Exception ex)
            {
                ApplicationLog.Exception(ex);
                return(new GenericResponse(null, ResponseCodes.Error, ResponseMessages.Error));
            }
        }
Beispiel #2
0
        // POST: /transaction/cancel-order
        public static HttpResponse CancelOrder(HttpRequest request)
        {
            TransactionCancelOrderRequest requestData = JsonConvert.DeserializeObject <TransactionCancelOrderRequest>(request.Content);

            TransactionController controller = new TransactionController();
            var response = controller.CancelOrder(requestData);

            Echo(request);

            return(CreateHttpResponse(response));
        }