private static bool DeliverResponse(ITradeSharpServerCallback callback, TradeSharpClientResponse resp, out Exception exception)
        {
            exception = null;
            try
            {
                switch (resp.responseType)
                {
                case TradeSharpClientResponseType.NewOrder:
                    callback.NewOrderResponse((MarketOrder)resp.ticket, resp.status, resp.detailMessage);
                    break;

                case TradeSharpClientResponseType.NewPendingOrder:
                    callback.NewPendingOrderResponse((PendingOrder)resp.ticket, resp.status, resp.detailMessage);
                    break;

                case TradeSharpClientResponseType.CloseOrder:
                    callback.NewCloseOrderResponse((MarketOrder)resp.ticket, resp.status, resp.detailMessage);
                    break;

                case TradeSharpClientResponseType.EditOrder:
                    callback.EditOrderResponse((MarketOrder)resp.ticket, resp.status, resp.detailMessage);
                    break;

                case TradeSharpClientResponseType.EditPendingOrder:
                    callback.EditPendingOrderResponse((PendingOrder)resp.ticket, resp.status, resp.detailMessage);
                    break;

                //case TradeSharpClientResponseType.TradeSignalAction :
                //    callback.ProcessTradeSignalAction((TradeSignalAction)resp.ticket);
                //    break;
                default: break;
                }
            }
            catch (TimeoutException ex)
            {
                Logger.Error("ServiceManagerClientManagerProxy.DeliverResponse TimeoutException", ex);
                exception = ex;
                return(false);
            }
            catch (CommunicationObjectAbortedException ex)
            {
                Logger.Error("ServiceManagerClientManagerProxy.DeliverResponse CommunicationObjectAbortedException", ex);
                exception = ex;
                return(false);
            }
            catch (Exception ex)
            {
                Logger.Error("ServiceManagerClientManagerProxy.DeliverResponse exception: " + ex.Message);
                exception = ex;
                return(false);
            }
            return(true);
        }
        private static bool DeliverResponse(ITradeSharpServerCallback callback, TradeSharpClientResponse resp, out Exception exception)
        {
            exception = null;
            try
            {
                switch (resp.responseType)
                {
                    case TradeSharpClientResponseType.NewOrder:
                        callback.NewOrderResponse((MarketOrder)resp.ticket, resp.status, resp.detailMessage);
                        break;

                    case TradeSharpClientResponseType.NewPendingOrder:
                        callback.NewPendingOrderResponse((PendingOrder)resp.ticket, resp.status, resp.detailMessage);
                        break;

                    case TradeSharpClientResponseType.CloseOrder:
                        callback.NewCloseOrderResponse((MarketOrder)resp.ticket, resp.status, resp.detailMessage);
                        break;
                    case TradeSharpClientResponseType.EditOrder:
                        callback.EditOrderResponse((MarketOrder)resp.ticket, resp.status, resp.detailMessage);
                        break;
                    case TradeSharpClientResponseType.EditPendingOrder:
                        callback.EditPendingOrderResponse((PendingOrder)resp.ticket, resp.status, resp.detailMessage);
                        break;
                    //case TradeSharpClientResponseType.TradeSignalAction :
                    //    callback.ProcessTradeSignalAction((TradeSignalAction)resp.ticket);
                    //    break;
                    default: break;
                }
            }
            catch (TimeoutException ex)
            {
                Logger.Error("ServiceManagerClientManagerProxy.DeliverResponse TimeoutException", ex);
                exception = ex;
                return false;
            }
            catch (CommunicationObjectAbortedException ex)
            {
                Logger.Error("ServiceManagerClientManagerProxy.DeliverResponse CommunicationObjectAbortedException", ex);
                exception = ex;
                return false;
            }
            catch (Exception ex)
            {
                Logger.Error("ServiceManagerClientManagerProxy.DeliverResponse exception: " + ex.Message);
                exception = ex;
                return false;
            }
            return true;
        }