public async Task <IActionResult> AddFatura()
        {
            var fornecedores = await _context.Fornecedor.ToListAsync();

            var model = new AddFaturaViewModel();

            foreach (Fornecedor f in fornecedores)
            {
                model.Fornecedores.Add(new SelectListItem {
                    Text = f.DescritivoFornecedor
                });
            }

            return(View(model));
        }
        public async Task <IActionResult> AddFatura(AddFaturaViewModel faturaModel)
        {
            if (string.IsNullOrEmpty(faturaModel.DataFatura) ||
                string.IsNullOrEmpty(faturaModel.DataVencimento) ||
                string.IsNullOrEmpty(faturaModel.Fornecedor) ||
                faturaModel.Valor <= 0.00)
            {
                return(BadRequest());
            }

            Fornecedor fornecedor = await GetFornecedorByName(faturaModel.Fornecedor);

            if (fornecedor == null)
            {
                return(NotFound());
            }

            try
            {
                var dataFatura     = DateTime.ParseExact(faturaModel.DataFatura, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);
                var dataVencimento = DateTime.ParseExact(faturaModel.DataVencimento, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);

                if (dataVencimento < dataFatura || dataVencimento < DateTime.Now || dataFatura < DateTime.Now)
                {
                    return(RedirectToAction("Error", "Routing"));
                }

                var newFatura = new Fatura(
                    dataFatura,
                    dataVencimento,
                    Convert.ToDecimal(faturaModel.Valor),
                    fornecedor.FornecedorID,
                    User.Identity.Name.Split('\\')[1],
                    User.Identity.Name.Split('\\')[1]);

                return(await PostFatura(newFatura));
            }
            catch (Exception e)
            {
                Debug.WriteLine("Ex:->" + e);
                throw;
            }
        }