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()); }
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)); }