Exemple #1
0
        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"));
        }
Exemple #2
0
 public void AddNewCoin(AllCoins newCoin)
 {
     _context.Coins.Add(new Coin()
     {
         Name = newCoin.NewCoin, Quantity = newCoin.NewCoinQt
     });
     _context.SaveChanges();
 }
Exemple #3
0
 public IActionResult Index(AllCoins AllCoins)
 {
     _repository.AddNewCoin(AllCoins);
     return(RedirectToAction("Index"));
 }