Example #1
0
        public async Task <IActionResult> Create(NewStock m)
        {
            if (!ModelState.IsValid)
            {
                return(View(m));
            }


            if (await _db.Stocks.AllAsync(c => c.Symbol == m.Symbol))
            {
                ModelState.AddModelError("Symbol", "Está Ação já está cadastrada.");
                return(View(m));
            }

            try
            {
                var stockQuoteDaily = await _provider.GetStockQuoteDailyAsync(m.Symbol);

                _db.Stocks.Add(new Stock(m.Symbol));
                await _db.SaveChangesAsync();

                _db.StockQuotesDaily.AddRange(stockQuoteDaily);
                await _db.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                ModelState.AddModelError("Symbol", "Está Ação não foi encontrada, tente adicionar .SA ao final do código.");
                return(View(m));
            }
        }