public IActionResult EditBanner(IFormCollection formData)
        {
            var bannerId     = Convert.ToInt32(formData["BannerId"]);
            var bannerName   = $"{formData["BannerName"]}";
            var expiryDate   = DateTime.Parse($"{formData["ExpiryDate"]}");
            var bannerStatus = (Status)Convert.ToInt32(formData["BannerStatus"]);

            try
            {
                var existentBanner = _db.Banners.FirstOrDefault(b => b.Id == bannerId);

                if (existentBanner == null)
                {
                    throw new Exception("Houve um problema ao encontrar o banner a ser editado!");
                }

                existentBanner.Name       = bannerName;
                existentBanner.ExpiryDate = expiryDate;
                existentBanner.Status     = bannerStatus;

                _db.Entry(existentBanner).State = EntityState.Modified;
                _db.SaveChanges();
            }
            catch (Exception e)
            {
                return(RedirectToAction("Index", "Home", new { errorMessage = $"Houve um erro ao editar e salvar o banner! Erro: {e.Message}" }));
            }

            return(RedirectToAction("Index", "Home", new { successMessage = $"O banner foi alterado com sucesso!" }));
        }
        public IActionResult EditProduct(IFormCollection formData)
        {
            try
            {
                var productId            = Convert.ToInt32(formData["ProductId"]);
                var productName          = $"{formData["ProductName"]}";
                var featuredText         = $"{formData["FeaturedText"]}";
                var inCashPrice          = Convert.ToDecimal(Convert.ToString(formData["InCashPrice"]).Replace("R$ ", ""));
                var parcelValue          = Convert.ToDecimal(Convert.ToString(formData["ParcelValue"]).Replace("R$ ", ""));
                var forwardedPrice       = Convert.ToDecimal(Convert.ToString(formData["ForwardedPrice"]).Replace("R$ ", ""));
                var yearlyTax            = Convert.ToDecimal(Convert.ToString(formData["YearlyTax"]).Replace("%", ""));
                var monthlyTax           = Convert.ToDecimal(Convert.ToString(formData["MonthlyTax"]).Replace("%", ""));
                var inputParcelsQuantity = Convert.ToInt32(formData["InputParcelsQuantity"]);
                var parcelsQuantity      = Convert.ToInt32(formData["ParcelsQuantity"]);
                var expiryDate           = DateTime.Parse($"{formData["ExpiryDate"]}");
                var productStatus        = (Status)Convert.ToInt32(formData["ProductStatus"]);

                var existentProduct = _db.PromotionalProducts.FirstOrDefault(p => p.Id == productId);

                if (existentProduct == null)
                {
                    throw new Exception("Houve um problema ao encontrar o produto a ser editado!");
                }

                existentProduct.Name = productName;
                existentProduct.FeaturedOptionalText = featuredText;
                existentProduct.InCashPrice          = inCashPrice;
                existentProduct.ParcelValue          = parcelValue;
                existentProduct.ForwardedPrice       = forwardedPrice;
                existentProduct.YearlyTax            = yearlyTax;
                existentProduct.MonthlyTax           = monthlyTax;
                existentProduct.InputParcelsQuantity = inputParcelsQuantity;
                existentProduct.ParcelsQuantity      = parcelsQuantity;
                existentProduct.ExpiryDate           = expiryDate;
                existentProduct.Status = productStatus;

                _db.Entry(existentProduct).State = EntityState.Modified;
                _db.SaveChanges();
            }
            catch (Exception e)
            {
                return(RedirectToAction("Index", "Home", new { errorMessage = $"Houve um erro ao cadastrar e salvar o novo produto! Erro: {e.Message}" }));
            }

            return(RedirectToAction("Index", "Home", new { successMessage = $"Novo produto cadastrado com sucesso!" }));
        }