public async Task <IActionResult> Index() { HttpResponseMessage responseMessage = await client.GetAsync(url); if (responseMessage.IsSuccessStatusCode) { var responseData = responseMessage.Content.ReadAsStringAsync().Result; var allCoins = _repository.GetAllCoinsNames(); var list = allCoins.Select(c => c.Name).ToList(); var apiCoins = JsonConvert.DeserializeObject <AllCoins>(responseData).Markets.Where(c => list.Contains(c.Name)).ToList(); foreach (var coin in apiCoins) { coin.Quantity = (decimal)allCoins.Where(c => c.Name == coin.Name).Select(c => c.Quantity).FirstOrDefault(); coin.ChangeSinceLastCheck = _repository.CoinChangeSinceLastCheck(coin.Name, coin.Price_usd); } var trackedCoinsNames = apiCoins.Select(c => c.Name).ToList(); var newmodel = new AllCoins() { Markets = apiCoins, CoinsToAdd = JsonConvert.DeserializeObject <AllCoins>(responseData).Markets.Where(c => !trackedCoinsNames.Contains(c.Name)).Select(c => c.Name).ToList() }; return(View(newmodel)); } return(View("Error")); }
public void AddNewCoin(AllCoins newCoin) { _context.Coins.Add(new Coin() { Name = newCoin.NewCoin, Quantity = newCoin.NewCoinQt }); _context.SaveChanges(); }
public IActionResult Index(AllCoins AllCoins) { _repository.AddNewCoin(AllCoins); return(RedirectToAction("Index")); }