public object PostOpenOrdersMaxQuantity(OptionOrderTicketViewModel orderTicket)
        {
            string currentStockBusinessAction;

            if (orderTicket.OrderType != null)
            {
                currentStockBusinessAction = orderTicket.OrderType;
            }
            else
            {
                currentStockBusinessAction = "100";
            }
            OptionOrderMaxQuantityArguments reqArguments = new OptionOrderMaxQuantityArguments
            {
                CustomerAccountCode = FCIdentity.CustomerAccountCode,
                TradeAccount        = FCIdentity.TradeAccount,
                StockBusiness       = StockBusiness.Parse(orderTicket.StockBusiness),
                StockBusinessAction = StockBusinessAction.Parse(currentStockBusinessAction),
                //行权与证券锁定解锁送100
                //StockBusinessAction = StockBusinessAction.OrderDeclaration,
                OptionNumber = orderTicket.OptionNumber,
                SecurityCode = orderTicket.SecurityCode ?? orderTicket.UnderlyingCode,
                OrderPrice   = orderTicket.OrderPrice
            };

            OptionOrderMaxQuantityInformation result = _orderManager.GetOptionOrderMaxQuantity(reqArguments);

            return(result);
        }
Example #2
0
        public object GetOpenOrdersMaxQuantity(OptionOrderTicketViewModel orderTicket)
        {
            OptionOrderMaxQuantityArguments reqArguments = new OptionOrderMaxQuantityArguments
            {
                CustomerAccountCode = orderTicket.AccountCode,
                TradeAccount        = orderTicket.TradeAccount,
                StockBusiness       = StockBusiness.Parse(orderTicket.StockBusiness),
                StockBusinessAction = StockBusinessAction.Parse(orderTicket.OrderType),
                OptionNumber        = orderTicket.OptionNumber,
                SecurityCode        = orderTicket.UnderlyingCode,
                OrderPrice          = orderTicket.OrderPrice
            };

            OptionOrderMaxQuantityInformation result = _orderManager.GetOptionOrderMaxQuantity(reqArguments);

            return(result);
        }
Example #3
0
        public EntityResponse <OptionOrderMaxQuantityInformation> GetOptionOrderMaxQuantity(OptionOrderMaxQuantityArguments maxQuantityArguments)
        {
            List <SZKingdomArgument> arguments = new List <SZKingdomArgument>();

            arguments.Add(SZKingdomArgument.CustomerCode(maxQuantityArguments.CustomerCode));
            arguments.Add(SZKingdomArgument.CustomerAccountCode(maxQuantityArguments.CustomerAccountCode));
            arguments.Add(SZKingdomArgument.TradeAccount(maxQuantityArguments.TradeAccount));
            arguments.Add(SZKingdomArgument.StockBoard(maxQuantityArguments.StockBoard));
            arguments.Add(SZKingdomArgument.StockBusiness(maxQuantityArguments.StockBusiness));
            arguments.Add(SZKingdomArgument.StockBusinessAction(maxQuantityArguments.StockBusinessAction));

            if (maxQuantityArguments.StockBusiness.In(OptionOrderBusinesses) && string.IsNullOrWhiteSpace(maxQuantityArguments.OptionNumber))
            {
                EntityResponse <OptionOrderMaxQuantityInformation> entityResponse = EntityResponse <OptionOrderMaxQuantityInformation> .Error(
                    ErrorCode.SZKingdomLibraryError,
                    ErrorMessages.SZKingdom_OptionNumberCanNotBeEmpty);

                return(entityResponse);
            }
            if (maxQuantityArguments.StockBusiness.In(StockOrderBusinesses) && string.IsNullOrWhiteSpace(maxQuantityArguments.SecurityCode))
            {
                EntityResponse <OptionOrderMaxQuantityInformation> entityResponse = EntityResponse <OptionOrderMaxQuantityInformation> .Error(
                    ErrorCode.SZKingdomLibraryError,
                    ErrorMessages.SZKingdom_StockCanNotBeEmpty);

                return(entityResponse);
            }
            arguments.Add(SZKingdomArgument.OptionNumber(maxQuantityArguments.OptionNumber));
            arguments.Add(SZKingdomArgument.SecurityCode(maxQuantityArguments.SecurityCode));


            if (maxQuantityArguments.StockBusiness.In(PriceNecessaryBusinesses) && maxQuantityArguments.OrderPrice == null)
            {
                EntityResponse <OptionOrderMaxQuantityInformation> entityResponse = EntityResponse <OptionOrderMaxQuantityInformation>
                                                                                    .Error(ErrorCode.SZKingdomLibraryError, ErrorMessages.SZKingdom_OrderPriceCanNotBeEmpty);

                return(entityResponse);
            }
            arguments.Add(SZKingdomArgument.OrderPrice(maxQuantityArguments.OrderPrice));


            EntityResponse <OptionOrderMaxQuantityInformation> result =
                _marketDataLibrary.ExecuteCommandSingleEntity <OptionOrderMaxQuantityInformation>(SZKingdomRequest.OptionOrderMaxQuantity, arguments);

            return(result);
        }