Exemplo n.º 1
0
        public int Cancel(EntrustCommandItem cmdItem, List <EntrustSecurityItem> entrustItems)
        {
            int ret = -1;

            UFXBasketWithdrawRequest request = new UFXBasketWithdrawRequest
            {
                BatchNo = cmdItem.BatchNo,
            };

            List <UFXBasketWithdrawRequest> requests = new List <UFXBasketWithdrawRequest>();

            requests.Add(request);

            Callbacker callbacker = new Callbacker
            {
                Token = new CallerToken
                {
                    SubmitId  = cmdItem.SubmitId,
                    CommandId = cmdItem.CommandId,
                    WaitEvent = new AutoResetEvent(false),
                },

                DataHandler = WithdrawBasketCallback,
            };

            var result = _securityBLL.WithdrawBasket(requests, callbacker);

            callbacker.Token.WaitEvent.WaitOne(30 * 1000);
            if (result == Model.ConnectionCode.Success)
            {
                ret = 1;
            }

            return(ret);
        }
Exemplo n.º 2
0
        public ConnectionCode WithdrawBasket(UFXBasketWithdrawRequest request, Callbacker callbacker)
        {
            List <UFXBasketWithdrawRequest> requests = new List <UFXBasketWithdrawRequest> {
                request
            };

            return(SubmitAsync <UFXBasketWithdrawRequest>(UFXFunctionCode.WithdrawBasket, requests, callbacker));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 给接口每次仅能传入一个批号
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public List <UFXBasketWithdrawResponse> WithdrawBasket(UFXBasketWithdrawRequest request)
        {
            List <UFXBasketWithdrawRequest> requests = new List <UFXBasketWithdrawRequest> {
                request
            };
            DataParser parser = SubmitSync <UFXBasketWithdrawRequest>(UFXFunctionCode.WithdrawBasket, requests);

            return(GetResponse(parser));
        }
Exemplo n.º 4
0
        public BLLResponse WithdrawBasket(Model.Database.EntrustCommand cmdItem)
        {
            UFXBasketWithdrawRequest request = new UFXBasketWithdrawRequest
            {
                BatchNo = cmdItem.BatchNo,
            };

            var responseItems = _withdrawSyncBLL.WithdrawBasket(request);

            return(GetResponse(cmdItem.SubmitId, cmdItem.CommandId, responseItems));
        }
Exemplo n.º 5
0
        public BLLResponse Withdraw(Model.Database.EntrustCommand cmdItem, CallerCallback callerCallback)
        {
            BLLResponse bllResponse = new BLLResponse();

            UFXBasketWithdrawRequest request = new UFXBasketWithdrawRequest
            {
                BatchNo = cmdItem.BatchNo,
            };

            Callbacker callbacker = new Callbacker
            {
                Token = new CallerToken
                {
                    SubmitId  = cmdItem.SubmitId,
                    CommandId = cmdItem.CommandId,
                    WaitEvent = new AutoResetEvent(false),
                    Caller    = callerCallback,
                },

                DataHandler = WithdrawDataHandler,
            };

            var result = _securityBLL.WithdrawBasket(request, callbacker);

            if (result == Model.ConnectionCode.Success)
            {
                if (callbacker.Token.WaitEvent.WaitOne(_timeOut))
                {
                    var errorResponse = callbacker.Token.ErrorResponse as UFXErrorResponse;
                    if (errorResponse != null && T2ErrorHandler.Success(errorResponse.ErrorCode))
                    {
                        bllResponse.Code    = Model.ConnectionCode.Success;
                        bllResponse.Message = "Success Withdraw";
                    }
                    else
                    {
                        bllResponse.Code    = Model.ConnectionCode.FailWithdraw;
                        bllResponse.Message = errorResponse.ErrorMessage;
                    }
                }
                else
                {
                    bllResponse.Code    = Model.ConnectionCode.FailTimeoutWithdraw;
                    bllResponse.Message = "Fail to submit the basket withdraw to UFX!";
                }
            }
            else
            {
                bllResponse.Code    = Model.ConnectionCode.FailSubmit;
                bllResponse.Message = "Fail to submit the basket withdraw to UFX!";
            }

            return(bllResponse);
        }