public static string ValidarCartaoCredito(CartaoCredito cartaoCredito)
 {
     if (cartaoCredito.Numero.StartsWith(Amex1) || cartaoCredito.Numero.StartsWith(Amex2))
     {
         return VerificaAmex(cartaoCredito);
     }
     else if (cartaoCredito.Numero.StartsWith(Discover))
     {
         return VerificaDiscover(cartaoCredito);
     }
     else if (cartaoCredito.Numero.StartsWith(MasterCard1) || cartaoCredito.Numero.StartsWith(MasterCard2) ||
              cartaoCredito.Numero.StartsWith(MasterCard3) || cartaoCredito.Numero.StartsWith(MasterCard4) ||
              cartaoCredito.Numero.StartsWith(MasterCard5))
     {
         return VerificaMasterCard(cartaoCredito);
     }
     else if (cartaoCredito.Numero.StartsWith(Visa))
     {
         return VerificaVisa(cartaoCredito);
     }
     else
     {
         return  "Desconhecido: " + cartaoCredito.Numero + " (inválido)";
     }
 }
        private static string VerificaAmex(CartaoCredito cartaoCredito)
        {
            var retorno = "AMEX: " + cartaoCredito.Numero;

            if (cartaoCredito.Numero.ToString().Length == 15)
            {
                retorno += ValidaSoma(cartaoCredito.Numero);
            }
            else
            {
                retorno += " (inválido)";
            }

            return retorno;
        }
 public ActionResult Index(CartaoCredito cartaoCredito)
 {
     ViewBag.Resultado = ValidarCartaoCreditoBusiness.ValidarCartaoCredito(cartaoCredito);
     return View();
 }
        private static string VerificaVisa(CartaoCredito cartaoCredito)
        {
            var retorno = "VISA: " + cartaoCredito.Numero;

            if (cartaoCredito.Numero.ToString().Length == 13 || cartaoCredito.Numero.ToString().Length == 16)
            {
                retorno += ValidaSoma(cartaoCredito.Numero);
            }
            else
            {
                retorno += " (inválido)";
            }

            return retorno;
        }