public void UpdateOpen(TradeStock stock) { var toUpdate = currentStockPrices.Values.FirstOrDefault(s => s.Symbol == stock.Symbol); var stockDate = stock.Date; if (toUpdate.Date < stockDate) { toUpdate.Price = stock.Price; toUpdate.Date = stockDate; toUpdate.Low = stock.Price; toUpdate.High = stock.Price; } }
public void Add(int id, TradeStock stock) { currentStockPrices.Add(id, stock); }
public IActionResult Trade(string symbol, int tradesharescount, string state) { var IEXTrading_API_PATH = "https://api.iextrading.com/1.0/stock/{0}/quote"; IEXTrading_API_PATH = string.Format(IEXTrading_API_PATH, symbol); using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); //For IP-API client.BaseAddress = new Uri(IEXTrading_API_PATH); HttpResponseMessage response = client.GetAsync(IEXTrading_API_PATH).GetAwaiter().GetResult(); if (response.IsSuccessStatusCode) { var Stock = response.Content.ReadAsAsync <TradeStock>().GetAwaiter().GetResult(); if (HttpContext.Session.GetInt32("userid") == null) { ViewData["message"] = "Please login"; return(View("Login", "User")); } var uh = new UserHelper(); var userlist = uh.GetUsers(); var userid = HttpContext.Session.GetInt32("userid"); var myuser = userlist.FirstOrDefault(u => u.Id == userid); if (myuser == null) { return(RedirectToAction("Login", "User")); } var TradeStock = new TradeStock() { User = myuser, TradeSharesCount = tradesharescount, LatestPrice = Stock.LatestPrice, CompanyName = Stock.CompanyName, Symbol = symbol.ToUpper(), State = state, LatestVolume = Stock.LatestVolume }; if (TradeStock.Trade()) { ViewData["message"] = state + " of " + tradesharescount + " " + symbol.ToUpper() + " successful"; } else { ViewData["message"] = state + " of " + tradesharescount + " " + symbol.ToUpper() + " unsuccessful"; } } } var states = new List <SelectListItem>() { new SelectListItem { Value = "Buy", Text = "Buy" }, new SelectListItem { Value = "Sell", Text = "Sell" } }; ViewBag.state = states; return(View("Stock")); }