public IActionResult GetOverview(TradingMode mode) { var userId = HttpContext.User.GetUserId(); if (userId == null) { return(BadRequest("User not found")); } var strategies = _strategyRepository.GetUserStrategiesByMode(userId, mode); var overview = _strategyRepository.GetUserOverviewByMode(userId, mode); //var assets = _assetRepository.GetByUserId(userId) //.Where(o => o.TradingMode == mode).Select(o => (currency: o.Currency, amount: o.Amount)); //var currentValue = await _marketDataService.EvaluateAssetSet(assets, "binance"); //var reserved = strategies.Aggregate(new EvaluationTick(), (res, val) => //{ // var eval = val.Evaluations.Last(); // res.BtcValue += eval.BtcValue; // res.UsdValue += eval.UsdValue; // return res; //}); return(Ok(new { allOpenededTradesCount = strategies.SelectMany(o => o.Trades).Count(o => !o.Closed.HasValue), allTradesCount = strategies.SelectMany(o => o.Trades).Count(), allNewTradesCount = strategies.Sum(o => o.GetNewTrades()), runningCount = strategies.Count(o => !o.Stop.HasValue), allCount = strategies.Count(), //currentValue = _mapper.Map<JsonEvaluationModel>(currentValue), yesterdayValue = _mapper.Map <JsonEvaluationModel>(overview.GetYesterdayValue()), overviewStrategyId = overview.Id, //reserved = _mapper.Map<JsonEvaluationModel>(reserved), })); }