public override void OnActionExecuted(ActionExecutedContext context)
        {
            base.OnActionExecuted(context);
            // 判断是否有异常,如果没有异常执行正常逻辑,如果出现任何异常,进入异常处理逻辑
            if (context.Result is ObjectResult || context.Result is EmptyResult || context.Result == null)
            {
                if (context.Exception == null)
                {
                    // 定义返回模型
                    var result = new ApiOutput();
                    result.Success = true;
                    // 取得由 API 返回的状态代码
                    result.Status = 200;

                    if (context.Result == null)
                    {
                        context.Result = new ObjectResult(result);
                    }
                    else
                    {
                        // 取得由 API 返回的资料
                        var objectResult = context.Result as ObjectResult;
                        result.Data    = objectResult?.Value;
                        context.Result = new ObjectResult(result);
                    }
                }
            }
        }
Exemple #2
0
        // Transitions a local wallet output from Unconfirmed -> Unspent.
        // Also updates the height and lock_height based on latest from the api.
        public static void refresh_output(OutputData od, ApiOutput apiOut)
        {
            od.Height     = apiOut.Height;
            od.LockHeight = apiOut.LockHeight;


            switch (od.Status)
            {
            case OutputStatus.Unconfirmed:
                od.Status = OutputStatus.Unspent;
                break;
            }
        }
 public IActionResult GetDecryptedValue([FromQuery] string encryptedText)
 {
     try
     {
         ApiOutput <string> apiOutput = new ApiOutput <string>();
         apiOutput.Result     = this.encryptionService.ToDecrypt(encryptedText);
         apiOutput.StatusCode = (int)HttpStatusCode.OK;
         apiOutput.Error      = string.Empty;
         return(Ok(apiOutput));
     }
     catch (Exception ex)
     {
         this.logger.LogError(ex, "Error Occurred in GetDecryptedValue");
         return(BadRequest("Error Occurred in GetDecryptedValue"));
     }
 }
        private ApiOutput receive()
        {
            ApiOutput apiOutput = null;

            byte[] length = new byte[4];

            try {
                this.readWithTimeout(length, 30000);
                int lengthInt = getIntegerFromByte(length);

                if (lengthInt > 0)
                {
                    byte[] data = new byte[lengthInt];
                    this.readWithTimeout(data, 30000);
                    apiOutput = ApiOutput.ParseFrom(data);
                }
            } catch (InvalidProtocolBufferException e) {
                Console.WriteLine("Parse Error " + e.ToString());
            } catch (IOException e) {
                Console.WriteLine("Error readline " + e.ToString());
            }
            return(apiOutput);
        }
        private EzeResult getResult(ApiOutput apiOutput)
        {
            EzeResult result = new EzeResult();
            Result paymentResult = new Result();
            paymentResult.setMessage("Ezeeeeeeeeeeeeeeeee");
            if (null == apiOutput) throw new EzeException("Invalid response from EPIC. ApiOutput is null");
            Console.WriteLine("1.."+apiOutput.EventType);

            Console.WriteLine("2. "+ MapEventName(apiOutput.EventType));
            result.setEventName(MapEventName(apiOutput.EventType));
            if (apiOutput.HasStatus) result.setStatus(MapStatus(apiOutput.Status));
            if (apiOutput.HasMsgText)
            {

                paymentResult.setMessage(apiOutput.MsgText);
                result.setResult(paymentResult);
            }
            Console.WriteLine("3.."+apiOutput.MsgText);
            Console.WriteLine("4.." + result);
            if (apiOutput.HasOutData)
            {
                 try
                 {
                     StatusInfo statusInfo = StatusInfo.ParseFrom(apiOutput.OutData);
                     if (apiOutput.HasStatus)
                     {

                         if (result.getStatus() == Status.FAILURE)
                         {
                             Console.WriteLine("Failure");
                             if (null != statusInfo)
                             {
                                 Error error = new Error();
                             error.setCode(statusInfo.Code);
                             error.setMessage(statusInfo.Message);
                             result.setError(error);
                             }
                         }

                     }

                 }
                 catch (InvalidProtocolBufferException e)
                 {
                     Console.WriteLine(e.Message);
                 }

                if ((apiOutput.Status == ApiOutput.Types.ResultStatus.SUCCESS) && (apiOutput.EventType.Equals(ApiOutput.Types.EventType.TXN_HISTORY_RESULT)))
                {
                    try
                    {
                        Console.WriteLine("history parsing begins... ");
                        TxnHistory txHistory = TxnHistory.ParseFrom(apiOutput.OutData);
                        Console.WriteLine("Null history "+txHistory);

                        if (null != txHistory)
                        {

                            Console.WriteLine(txHistory.TotalCount);
                          //  IList<Txn> list = txHistory.

                        }
                        else
                        {
                            Console.WriteLine("Null histpry");
                        }
                    }
                    catch (InvalidProtocolBufferException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                }
                if ((apiOutput.Status == ApiOutput.Types.ResultStatus.SUCCESS) && (apiOutput.EventType.Equals(ApiOutput.Types.EventType.TXN_RESULT) || (apiOutput.EventType.Equals(ApiOutput.Types.EventType.TXN_DETAILS_RESULT))))
                {

                    TransactionDetails tDetails = new TransactionDetails();
                    Card card = new Card();
                    Merchant merchant = new Merchant();
                    Customer cust = new Customer();
                    Receipt receipt = new Receipt();
                    Cheque cheque = new Cheque();
                    Txn txnOutput;
                    try
                    {
                        txnOutput = Txn.ParseFrom(apiOutput.OutData);
                        tDetails.setPmtType(txnOutput.TxnType.ToString());
                        tDetails.setStatus(txnOutput.Status);
                        tDetails.setTxnId(txnOutput.TransactionId);
                        tDetails.setAmount(txnOutput.Amount);
                        tDetails.setSettlementStatus(txnOutput.SettlementStatus);
                        tDetails.setVoidable(txnOutput.Voidable);
                        tDetails.setAuthCode(txnOutput.AuthCode);
                        tDetails.setCardType(txnOutput.CardBrand);
                        tDetails.setOrderId(txnOutput.OrderId);
                        tDetails.setTid(txnOutput.Tid);
                        paymentResult.setTransactionDetails(tDetails);
                       merchant.setMerchantCode(txnOutput.Mid);
                        // merchant.setMerchantName(txnOutput.m);
                        paymentResult.setMerchant(merchant);
                        cust.setMobileNumber(txnOutput.CustomerMobileNumber);
                        // cust.setemailId(txnOutput.);
                        paymentResult.setCustomer(cust);
                        receipt.setReceiptUrl(txnOutput.ReceiptUrl);
                        receipt.setReceiptDate(txnOutput.Timestamp);
                        paymentResult.setReceipt(receipt);
                        cheque.setChequeNumber(txnOutput.ChequeNumber);
                        cheque.setChequeDate(txnOutput.ChequeDate);
                        cheque.setBankCode(txnOutput.BankCode);
                        // cheque.setBankName(txnOutput.b);
                        paymentResult.setCheque(cheque);
                        card.setCardBrand(txnOutput.CardBrand);
                        //  card.setMaskedCardNumber(txnOutput.LastFoundDigits);
                        paymentResult.setCard(card);
                    }
                    catch (InvalidProtocolBufferException e)
                    {
                        throw new EzeException("Error reading payment result. ex=" + e.Message);
                    }
                   // PaymentResult list = new List<PaymentResult>();
                    result.setResult(paymentResult);
                }
            }

            //Console.Write("ApiOutput: " + apiOutput.ToString());

            if ((result.getEventName() == EventName.NOTIFICATION) && (null != EzeEvent))
            {
                Result res = result.getResult();
                Console.WriteLine("5.."+res);
                if (res!=null)
                EzeEvent(result.getResult().getMessage(), new EventArgs());
            }

            return result;
        }
 private static Status MapStatus(ApiOutput.Types.ResultStatus status)
 {
     if (status == ApiOutput.Types.ResultStatus.SUCCESS) return Status.SUCCESS;
     else return Status.FAILURE;
 }
Exemple #7
0
        private EzeResult getResult(ApiOutput apiOutput)
        {
            EzeResult result = new EzeResult();

            if (null == apiOutput) throw new EzeException("Invalid response from EPIC. ApiOutput is null");

            result.setEventName(MapEventName(apiOutput.EventType));
            if (apiOutput.HasStatus) result.setStatus(MapStatus(apiOutput.Status));
            if (apiOutput.HasMsgText) result.setMessage(apiOutput.MsgText);

            if (apiOutput.HasOutData)
            {
            try
            {
                StatusInfo statusInfo = StatusInfo.ParseFrom(apiOutput.OutData);

                if (null != statusInfo)
                {
                    if (statusInfo.HasCode) result.setCode(statusInfo.Code);
                    if (statusInfo.HasMessage) result.setMessage(statusInfo.Message);
                }
            }
            catch (InvalidProtocolBufferException e)
            {
                Console.WriteLine(e.Message);
            }

            if ((apiOutput.Status == ApiOutput.Types.ResultStatus.SUCCESS) && (apiOutput.EventType.Equals(ApiOutput.Types.EventType.TXN_RESULT)))
            {
                PaymentResult paymentResult = new PaymentResult();
                Txn txnOutput;
                try
                {
                    txnOutput = Txn.ParseFrom(apiOutput.OutData);

                    paymentResult.setPmtType(txnOutput.TxnType.ToString());
                    paymentResult.setStatus(txnOutput.Status);
                    paymentResult.setTxnId(txnOutput.TransactionId);
                    paymentResult.setAmount(txnOutput.Amount);
                    paymentResult.setSettlementStatus(txnOutput.SettlementStatus);
                    paymentResult.setVoidable(txnOutput.Voidable);
                    paymentResult.setChequeNo(txnOutput.ChequeNumber);
                    paymentResult.setChequeDate(txnOutput.ChequeDate);
                    paymentResult.setAuthCode(txnOutput.AuthCode);
                    paymentResult.setCardType(txnOutput.CardBrand);
                    paymentResult.setOrderId(txnOutput.OrderId);
                    paymentResult.setTid(txnOutput.Tid);
                    paymentResult.setMerchantId(txnOutput.Mid);

                }
                catch (InvalidProtocolBufferException e)
                {
                    throw new EzeException("Error reading payment result. ex=" + e.Message);
                }
                result.setPaymentResult(paymentResult);
            }
            }

            //Console.Write("ApiOutput: " + apiOutput.ToString());

            if ((result.getEventName() == EventName.NOTIFICATION) && (null != EzeEvent))
            {
            EzeEvent(result.getMessage(), new EventArgs());
            }

            return result;
        }
Exemple #8
0
 private static void ApiOutputSaveMapper(ApiOutput apiOutput, DbApiOutput dbApiOutput)
 {
     dbApiOutput.Name       = apiOutput.Name;
     dbApiOutput.Type       = apiOutput.Type;
     dbApiOutput.Expression = apiOutput.Expression;
 }
        private EzeResult getResult(ApiOutput apiOutput)
        {
            EzeResult result        = new EzeResult();
            Result    paymentResult = new Result();

            paymentResult.setMessage("Ezeeeeeeeeeeeeeeeee");
            if (null == apiOutput)
            {
                throw new EzeException("Invalid response from EPIC. ApiOutput is null");
            }
            Console.WriteLine("1.." + apiOutput.EventType);

            Console.WriteLine("2. " + MapEventName(apiOutput.EventType));
            result.setEventName(MapEventName(apiOutput.EventType));
            if (apiOutput.HasStatus)
            {
                result.setStatus(MapStatus(apiOutput.Status));
            }
            if (apiOutput.HasMsgText)
            {
                paymentResult.setMessage(apiOutput.MsgText);
                result.setResult(paymentResult);
            }
            Console.WriteLine("3.." + apiOutput.MsgText);
            Console.WriteLine("4.." + result);
            if (apiOutput.HasOutData)
            {
                try
                {
                    StatusInfo statusInfo = StatusInfo.ParseFrom(apiOutput.OutData);
                    if (apiOutput.HasStatus)
                    {
                        if (result.getStatus() == Status.FAILURE)
                        {
                            Console.WriteLine("Failure");
                            if (null != statusInfo)
                            {
                                Error error = new Error();
                                error.setCode(statusInfo.Code);
                                error.setMessage(statusInfo.Message);
                                result.setError(error);
                            }
                        }
                    }
                }
                catch (InvalidProtocolBufferException e)
                {
                    Console.WriteLine(e.Message);
                }

                if ((apiOutput.Status == ApiOutput.Types.ResultStatus.SUCCESS) && (apiOutput.EventType.Equals(ApiOutput.Types.EventType.TXN_HISTORY_RESULT)))
                {
                    try
                    {
                        Console.WriteLine("history parsing begins... ");
                        TxnHistory txHistory = TxnHistory.ParseFrom(apiOutput.OutData);
                        Console.WriteLine("Null history " + txHistory);

                        if (null != txHistory)
                        {
                            Console.WriteLine(txHistory.TotalCount);
                            //  IList<Txn> list = txHistory.
                        }
                        else
                        {
                            Console.WriteLine("Null histpry");
                        }
                    }
                    catch (InvalidProtocolBufferException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                }
                if ((apiOutput.Status == ApiOutput.Types.ResultStatus.SUCCESS) && (apiOutput.EventType.Equals(ApiOutput.Types.EventType.TXN_RESULT) || (apiOutput.EventType.Equals(ApiOutput.Types.EventType.TXN_DETAILS_RESULT))))
                {
                    TransactionDetails tDetails = new TransactionDetails();
                    Card     card     = new Card();
                    Merchant merchant = new Merchant();
                    Customer cust     = new Customer();
                    Receipt  receipt  = new Receipt();
                    Cheque   cheque   = new Cheque();
                    Txn      txnOutput;
                    try
                    {
                        txnOutput = Txn.ParseFrom(apiOutput.OutData);
                        tDetails.setPmtType(txnOutput.TxnType.ToString());
                        tDetails.setStatus(txnOutput.Status);
                        tDetails.setTxnId(txnOutput.TransactionId);
                        tDetails.setAmount(txnOutput.Amount);
                        tDetails.setSettlementStatus(txnOutput.SettlementStatus);
                        tDetails.setVoidable(txnOutput.Voidable);
                        tDetails.setAuthCode(txnOutput.AuthCode);
                        tDetails.setCardType(txnOutput.CardBrand);
                        tDetails.setOrderId(txnOutput.OrderId);
                        tDetails.setTid(txnOutput.Tid);
                        paymentResult.setTransactionDetails(tDetails);
                        merchant.setMerchantCode(txnOutput.Mid);
                        // merchant.setMerchantName(txnOutput.m);
                        paymentResult.setMerchant(merchant);
                        cust.setMobileNumber(txnOutput.CustomerMobileNumber);
                        // cust.setemailId(txnOutput.);
                        paymentResult.setCustomer(cust);
                        receipt.setReceiptUrl(txnOutput.ReceiptUrl);
                        receipt.setReceiptDate(txnOutput.Timestamp);
                        paymentResult.setReceipt(receipt);
                        cheque.setChequeNumber(txnOutput.ChequeNumber);
                        cheque.setChequeDate(txnOutput.ChequeDate);
                        cheque.setBankCode(txnOutput.BankCode);
                        // cheque.setBankName(txnOutput.b);
                        paymentResult.setCheque(cheque);
                        card.setCardBrand(txnOutput.CardBrand);
                        //  card.setMaskedCardNumber(txnOutput.LastFoundDigits);
                        paymentResult.setCard(card);
                    }
                    catch (InvalidProtocolBufferException e)
                    {
                        throw new EzeException("Error reading payment result. ex=" + e.Message);
                    }
                    // PaymentResult list = new List<PaymentResult>();
                    result.setResult(paymentResult);
                }
            }

            //Console.Write("ApiOutput: " + apiOutput.ToString());

            if ((result.getEventName() == EventName.NOTIFICATION) && (null != EzeEvent))
            {
                Result res = result.getResult();
                Console.WriteLine("5.." + res);
                if (res != null)
                {
                    EzeEvent(result.getResult().getMessage(), new EventArgs());
                }
            }

            return(result);
        }