public decimal CalculateVolumeWeightedStockPrice(Stock stock) { stock.CheckForNull("stock"); var stockTrades = _tradeRepository.GetTrades(stock); if (stockTrades == null || !stockTrades.Any()) { return(0); } var fifteenMinutesAgo = _dateTimeProvider.Now.AddMinutes(-15); var tradesWithinFifteenMinutes = stockTrades.Where(x => x.LocalTimestamp > fifteenMinutesAgo).ToList(); var vwap = tradesWithinFifteenMinutes.Sum(x => x.Quantity * x.TradePrice) / tradesWithinFifteenMinutes.Sum(x => x.Quantity); return(vwap); }
public async Task <IActionResult> GetTrades(int?userid) { if (userid == null) { return(NotFound()); } var trades = await _repo.GetTrades(userid.Value); if (trades == null) { return(BadRequest("No data found")); } return(Ok(trades)); }
// GET: Trades public async Task <IActionResult> Index() { var userId = User.FindFirstValue(ClaimTypes.NameIdentifier); var tradeTypes = await _repo.GetTradeTypes(); var trades = await _repo.GetTrades(userId); TradeListVm vm = new TradeListVm { Trades = trades, TradeTypes = tradeTypes }; return(View(vm)); }
public ActionResult <IEnumerable <object> > Get() { return(Ok(_tradeRepository.GetTrades())); }
public List <Trade> GetAllTrades() { return(_iTradeRepository.GetTrades()); }