Example #1
0
        private void btnEtfBuyBasket_Click(object sender, EventArgs e)
        {
            if (etf == null)
            {
                return;
            }
            var orders = new List <Dwjk.Dtp.PlaceBatchOrder.Types.BatchOrderItem>();

            etf.Items.ForEach((item) => {
                Stock stock      = StockFacade.GetStock(item.Code);
                StockQuote quote = StockFacade.GetQuote(item.Code);
                if (stock == null || quote == null)
                {
                    return;
                }
                if (!string.Equals(item.ReplaceFlag, "1"))
                {
                    return;
                }
                orders.Add(
                    Trader.NewBatchOrderItem(
                        stock.SecurityId.Exchange == Exchange.Sh ? Dwjk.Dtp.Exchange.ShA : Dwjk.Dtp.Exchange.SzA,
                        item.Code,
                        quote.HighLimited.ToString(),
                        (uint)item.Quantity,
                        Dwjk.Dtp.OrderSide.Buy
                        ));
            });
            if (FrmOrderConfirm.ShowList(orders))
            {
                Trader.BatchOrder(orders);
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            StockFacade facade = new StockFacade();
            bool        isLow  = facade.IsLowStock("ABC123");

            Console.WriteLine("Stock is " + (isLow ? "" : "not ") + "low");
            ConsoleUtils.WaitForEscape();
        }
Example #3
0
        private void Code_TextChanged(object sender, EventArgs e)
        {
            var stock = StockFacade.GetStock(Code.Text);

            if (stock != null)
            {
                HandicapL2.Update(stock);
            }
            StockQuote quote = StockFacade.GetQuote(Code.Text);

            if (quote != null)
            {
                HandicapL2.Update(quote);
            }
        }
Example #4
0
        void StockMaintain_Loaded(object sender, RoutedEventArgs e)
        {
            StockFacade = new Facades.StockFacade(Page);
            WarehouseQueryFacade whFacade = new WarehouseQueryFacade(Page);

            whFacade.GetWarehouseListByCompanyCode(CPApplication.Current.CompanyCode, (vmList) =>
            {
                //WarehouseInfoVM blankInfo = new WarehouseInfoVM()
                //{
                //    SysNo = null,
                //    WarehouseID = null,
                //    WarehouseName = ResCommonEnum.Enum_Select
                //};
                //vmList.Insert(0, blankInfo);
                StockVM.WarehouseList = vmList;
            });

            if (StockSysNo.HasValue)
            {
                StockFacade.GetStockInfo(StockSysNo.Value, (vm) =>
                {
                    if (vm == null || vm.CompanyCode == null || vm.CompanyCode.Trim() != CPApplication.Current.CompanyCode)
                    {
                        vm = null;
                        Page.Context.Window.Alert("没有找到相应的仓库信息,此仓库信息可以已经被删除。");
                    }
                    else
                    {
                        StockVM = vm;
                        //if (StockVM != null)
                        //{
                        //    vm.WarehouseList = StockVM.WarehouseList;
                        //}
                    }
                    IniPageData();
                });
            }
            else
            {
                IniPageData();
            }

            Loaded -= new RoutedEventHandler(StockMaintain_Loaded);
        }
Example #5
0
        private void btnEtfSellBasket_Click(object sender, EventArgs e)
        {
            if (etf == null)
            {
                return;
            }
            var orders = new List <Dwjk.Dtp.PlaceBatchOrder.Types.BatchOrderItem>();

            etf.Items.ForEach((item) => {
                if (item.Available == 0)
                {
                    return;
                }
                var stock    = StockFacade.GetStock(item.Code);
                var quote    = StockFacade.GetQuote(item.Code);
                var exchange = Dwjk.Dtp.Exchange.ShA;
                if (stock != null)
                {
                    exchange = stock.SecurityId.Exchange == Exchange.Sh ? Dwjk.Dtp.Exchange.ShA : Dwjk.Dtp.Exchange.SzA;
                }
                else
                {
                    exchange = item.Code.StartsWith("6") ? Dwjk.Dtp.Exchange.ShA : Dwjk.Dtp.Exchange.SzA;
                }
                var price = "0.00";
                if (quote != null)
                {
                    price = quote.LowLimited.ToString();
                }
                orders.Add(
                    Trader.NewBatchOrderItem(
                        exchange,
                        item.Code,
                        price,
                        (uint)item.Quantity,
                        Dwjk.Dtp.OrderSide.Sell
                        ));
            });
            if (FrmOrderConfirm.ShowList(orders))
            {
                Trader.BatchOrder(orders);
            }
        }
Example #6
0
        private void btnTest_Click(object sender, EventArgs e)
        {
            bool        result;
            StockFacade stockFacade = new StockFacade();


            //EN : Assume you have a product class / TR : Bir ürün sınıfının elinize olduğunu düşününüz.
            Product product = new Product();

            product.Id = 1;

            result = stockFacade.TakeProduct(product, 1);

            if (result)
            {
                MessageBox.Show(" The operation for taken out the product / Ürünü depodan düşme işlemi.");
            }
            else
            {
                MessageBox.Show("Unsuccessful operation / İşlem başarısız.");
            }
        }
Example #7
0
        private bool DoLogin()
        {
            Config config  = CurrentConfig();
            string account = CurrentAccount();

            if (config == null)
            {
                MessageBox.Show("请选择服务配置");
                return(false);
            }
            if (String.IsNullOrEmpty(account))
            {
                MessageBox.Show("请输入账号");
                return(false);
            }
            try
            {
                SaveConfig();
                TradeClient adapter = TradeFacade.Create(
                    account,
                    txtPassword.Text,
                    config.TradeHost,
                    config.TradeQueryPort,
                    config.TradeOrderPort,
                    config.TradeReportPort
                    );
                StockFacade.ConnectL1(config.ReferenceAddress);
                StockFacade.ConnectL2(config.Level2Address);
                StockFacade.UpdateStockAsync();
                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(false);
        }