Exemple #1
0
        void ProcessStatus(TradeWebResponse response)
        {
            var trade_status = response.trade_status;

            switch (trade_status)
            {
            case 0:
                // Trade is ongoing.
                Status = ETradeTransactionStatus.InProgress;
                break;

            case 1:
                ulong tradeId;
                ulong.TryParse(response.tradeid, out tradeId);

                FinishTrade(ETradeTransactionStatus.Finished, (e) => e.tradeId = tradeId);
                break;

            case 3:
                FinishTrade(ETradeTransactionStatus.Cancelled);
                break;

            case 4:
                FinishTrade(ETradeTransactionStatus.TimedOut);
                break;

            default:
                Console.WriteLine("Unknown trade status: " + trade_status);
                break;
            }
        }
Exemple #2
0
        void FinishTrade(ETradeTransactionStatus status,
                         Action <TradeEvent> eventCallback = null)
        {
            CancelTimer();
            Status = status;

            var @event = new TradeEvent();

            @event.type = ETradeEventType.Finished;

            if (eventCallback != null)
            {
                eventCallback(@event);
            }

            Events.Enqueue(@event);
        }
        void ProcessStatus(TradeWebResponse response)
        {
            var trade_status = response.trade_status;

            switch (trade_status)
            {
            case 0:
                // Trade is ongoing.
                Status = ETradeTransactionStatus.InProgress;
                break;
            case 1:
                ulong tradeId;
                ulong.TryParse(response.tradeid, out tradeId);

                FinishTrade(ETradeTransactionStatus.Finished, (e) => e.tradeId = tradeId);
                break;
            case 3:
                FinishTrade(ETradeTransactionStatus.Cancelled);
                break;
            case 4:
                FinishTrade(ETradeTransactionStatus.TimedOut);
                break;
            default:
                Console.WriteLine("Unknown trade status: " + trade_status);
                break;
            }
        }
        void FinishTrade(ETradeTransactionStatus status,
            Action<TradeEvent> eventCallback = null)
        {
            CancelTimer();
            Status = status;

            var @event = new TradeEvent();
            @event.type = ETradeEventType.Finished;

            if (eventCallback != null)
                eventCallback(@event);

            Events.Enqueue(@event);
        }