Ejemplo n.º 1
0
        /// <summary>
        /// Call when connection with server established, auth past and
        /// server sent ticker's data.
        /// </summary>
        /// <param name="tickerData"></param>
        public void UpdateInstrParamsOnConnection(CTIckerData tickerData)
        {
            //removed 2018-06-25

            /*	if (tickerData.Decimals != Decimals)
             *              Decimals = tickerData.Decimals;
             *
             *      if ((double) tickerData.Step != Step)
             *              Step = (double)tickerData.Step;
             */
            if (tickerData.DecimalVolume != DecimalVolume)
            {
                DecimalVolume = tickerData.DecimalVolume;
            }



            CStocksVisual sv = new CStocksVisual
            {
                Decimals = Decimals,
                ConNumm  = ConnId,
                Step     = Step,
                Ticker   = TickerName
            };


            _kernelTerminal.UpdateStockVisualInstrumentParams(StockNum, sv);
            SaveInstrumentConfig();
        }
        void DatagridTickers_PreviewMouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            try
            {
                var dg = (DataGrid)sender;



                int conNum = (int)dg.Tag;

                int rowNum = CUtilWPF.GetDataGridClickedRowNum(e);

                CTIckerData tickerData = (CTIckerData)dg.Items[rowNum];
                string      ticker     = tickerData.TickerName;



                if (KernelTerminal.ViewModelDispatcher.IsMarketViewModelExist(ticker))
                {
                    AllertWindow win = new AllertWindow("Невозможно выбрать инструмент. Стакан с таким инструментом уже существует.");


                    win.Topmost = true;

                    Window wn = (Window)win;


                    // CUtilWin.ShowActivated(ref wn);



                    Window windowRoot = (Window)CUtilWin.FindWindow <AvailableTickersWindow>();
                    CUtilWin.ShowDialogOnCenter(wn, windowRoot);



                    //CUtilWin.ShowDialogOnCenter(ref wn, _);

                    //win.Show();

                    return;
                }

                //note put to method marketViewModel as parameters
                MarketViewModel currMarketViewModel = _winAvailTicks.CurrentMarketViewModel;
                KernelTerminal.ChangeMarketInstrument(conNum, tickerData, currMarketViewModel);


                // (new Task(KernelTerminal.TaskSaveVisualConf)).Start();

                _winAvailTicks.Close();
            }
            catch (Exception exc)
            {
                Error("DatagridTickers_PreviewMouseDown", exc);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Set instrument parameters for  Empty
        /// viewmodel. Calling when set real
        /// instrument selected.
        ///
        /// If instrument was trade previously
        /// settings file must be exists, load data from it.
        ///
        ///  If instrument was not trade previously
        ///  settings file is not exist use ticker data receieved
        ///  from the server
        ///
        /// Calling from CKernelTerminal.EditNonConnectedStock
        /// </summary>
        /// <param name="conId"></param>
        /// <param name="ticker">ticker data(instrument, step, decimals, etc)
        ///                      recieved from the server
        /// </param>
        public void SetEmptyVewModelInstrParams(int conId, CTIckerData ticker)
        {
            if (_logger == null)
            {
                _logger = new CLogger("MarketViewModel_" + ticker.TickerName);
            }



            string pathToConfig = CKernelTerminal.GetInstruemntPath(ticker.TickerName);

            //Config file for instrument is exists
            if (File.Exists(pathToConfig))
            {
                _instrumentConfig = _kernelTerminal.LoadInstrumentConfig(ticker.TickerName);
                CDataBinder.LoadMarketConfig(_instrumentConfig, this);

                //added 2018-02-27 for bitfinix capability
                if (_bUpdInstrParamsFromGrid)
                {
                    Step          = (double)ticker.Step;
                    DecimalVolume = ticker.DecimalVolume;
                    Decimals      = ticker.Decimals;
                }
            }
            //Config file for instrument is not exists
            else
            {
                TickerName    = ticker.TickerName;
                Step          = (double)ticker.Step;
                DecimalVolume = ticker.DecimalVolume;
                Decimals      = ticker.Decimals;


                _instrumentConfig.Name = ticker.TickerName;
                _instrumentConfig.MarketProperties.StockProperties.TickerName = ticker.TickerName;
                _instrumentConfig.MarketProperties.StockProperties.Step       = ticker.Step.ToString();
                _instrumentConfig.MarketProperties.StockProperties.Decimals   = ticker.Decimals.ToString();


                _instrumentConfig.MarketProperties.DealsProperties.Step = ticker.Step.ToString();
                _instrumentConfig.FileName = CKernelTerminal.GetInstruemntPath(ticker.TickerName);



                (new Task(SaveInstrumentConfig)).Start();
            }


            //note: ConId use for both cases
            ConnId = conId;
        }