Esempio n. 1
0
        public IActionResult Sync()
        {
            var ls = _lsm.GetServer();

            if (ls == null)
            {
                return(BadRequest());
            }

            var sps = ls.CreateSyncPipe().Result;

            if (sps == null)
            {
                return(BadRequest());
            }

            _importLeech.SyncAccountDataAsync(sps).Wait();
            ls.DeleteSyncPipe().Wait();

            return(Ok());
        }
Esempio n. 2
0
        public RemotePriceChart GetRemotePriceChart(int accountID, int instrumId, int timeframe, int key, int from = 0)
        {
            var instrum = _instrumBL.GetInstrumByID(instrumId);

            if (instrum == null)
            {
                return(null);
            }

            var cm = _chartSystem.GetChartManager(accountID, instrumId, (Timeframes)timeframe);

            if (cm == null)
            {
                return(null);
            }

            var chartData = cm.GetChartData();

            if (chartData == null)
            {
                return(null);
            }

            if (chartData.IsDynamic)
            {
                var ls = _lsm.GetServer();
                if (ls == null)
                {
                    return(null);
                }

                var tps = ls.GetTickPipe().Result;
                if (tps == null)
                {
                    return(null);
                }

                int count = _tickDisp.GetTicksCount(instrum.InsID);
                var ticks = tps.GetLastTicks(_tickDisp.CurrentDate, instrum, count).Result;
                if (ticks != null && ticks.Any())
                {
                    _tickDisp.AddTicks(ticks);
                }
                ls.DeleteTickPipe().Wait();
            }

            return(RemotePriceChart.Generate(key, instrum.Decimals, chartData, from));
        }