public IActionResult GetArrangedBotData(BotArrange arrange, string assetName) { try { const int periods = 24; var viewModel = _helpers.GetBotArrangedForecastData(arrange, assetName, periods); return(Json(viewModel)); } catch (Exception e) { return(NotFound(new { message = e.Message })); } }
public ImagesPath ImagePathByArrange(BotArrange arrange, string subFolder = null, string fullPath = null) { string tmpCurrent; string path; var images = new ImagesPath(); //var rootDir = DirSwitcher.BotForecast.ToString(); var parts = _location.Split(Path.DirectorySeparatorChar); Array.Resize(ref parts, parts.Length - 1); var locStr = new StringBuilder(); foreach (var part in parts) { locStr.Append(part); //, Path.DirectorySeparatorChar.ToString()); locStr.Append(Path.DirectorySeparatorChar.ToString()); } var loc = locStr.ToString(); var time = fullPath.Split(Path.DirectorySeparatorChar); tmpCurrent = LastDirAuto(Path.Combine(loc)).Split(Path.DirectorySeparatorChar).Last(); path = Path.Combine(tmpCurrent, _botForecast); images.ForecastImage = Path.Combine(Path.DirectorySeparatorChar.ToString(), _settings.ForecastDir, path, time.Last(), arrange.ToString(), subFolder, Static.ForecastFile); images.ComponentsImage = Path.Combine(Path.DirectorySeparatorChar.ToString(), _settings.ForecastDir, path, time.Last(), arrange.ToString(), subFolder, Static.ComponentsFile); return(images); }
public ArrangeBotComponentViewModel GetBotArrangedForecastData(BotArrange arrange, string assetName, int periods) { try { var viewModel = new ArrangeBotComponentViewModel(); var folder = _directoryManager.GetLastFolder(DirSwitcher.BotForecast); var dir = _directoryManager.GetDirByArrange(folder, arrange); var targetFolder = _directoryManager.GetForecastFolderByName(dir, assetName); var images = _directoryManager.ImagePathByArrange(arrange, targetFolder, folder); viewModel.ComponentsPath = images.ComponentsImage; viewModel.ForecastPath = images.ForecastImage; viewModel.AssetName = assetName; var pathToOut = _directoryManager.FilePathOut(Path.Combine(dir, targetFolder)); var stats = _fileManager.BuildOutTableRows(pathToOut, periods); viewModel.Table = stats.Table; viewModel.Arrange = arrange.ToString(); return(viewModel); } catch (Exception e) { throw new Exception(e.Message); } }
public string GetDirByArrange(string folder, BotArrange arrange) { var arrangeDir = arrange.ToString(); string dir; switch (arrange) { case BotArrange.Buy: dir = Path.Combine(folder, arrangeDir); break; case BotArrange.Consider: dir = Path.Combine(folder, arrangeDir); break; case BotArrange.DontBuy: dir = Path.Combine(folder, arrangeDir); break; default: throw new ArgumentOutOfRangeException(nameof(arrange), arrange, null); } return(dir); }