public async Task <IActionResult> Edit(int id, [Bind("Id,Ticker,Population,Date,FinalPricePrediction")] WisdomTrade wisdomTrade) { if (id != wisdomTrade.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(wisdomTrade); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!WisdomTradeExists(wisdomTrade.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(wisdomTrade)); }
// currently not in use // call controller of wisdom trade to find and update if exist and create if not exist // creates an entry on db private async Task UpdateWisdomTrade(Position position) { // update wisdom trade table WisdomTradesController wtc = new WisdomTradesController(_context); WisdomTrade wisdomTrade = wtc.GetWisdomTrade(position.Ticker, position.Date); // update if (wisdomTrade != null) { // find corresponding positions and update wisdomTrade item var matchingPositions = GetAllPositions(position.Ticker, position.Date); wisdomTrade.FinalPricePrediction = matchingPositions.Average(mp => mp.PricePrediction); wisdomTrade.Population = matchingPositions.Count(); // apply changes await wtc.Edit(wisdomTrade.Id, wisdomTrade); } //create else { var newWisdomTrade = new WisdomTrade(); newWisdomTrade.Date = position.Date; newWisdomTrade.Population = 1; newWisdomTrade.Ticker = position.Ticker; newWisdomTrade.FinalPricePrediction = position.PricePrediction; await wtc.Create(newWisdomTrade); } }
public async Task <IActionResult> Create([Bind("Id,Ticker,Population,Date,FinalPricePrediction")] WisdomTrade wisdomTrade) { if (ModelState.IsValid) { _context.Add(wisdomTrade); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(wisdomTrade)); }