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