コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        // 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));
        }
コード例 #4
0
 public ActionResult <IEnumerable <object> > Get()
 {
     return(Ok(_tradeRepository.GetTrades()));
 }
コード例 #5
0
 public List <Trade> GetAllTrades()
 {
     return(_iTradeRepository.GetTrades());
 }