private static string[] lerReferenciasNFe(Controller obj, HtmlAgilityPack.HtmlDocument doc)
        {
            var allInfAddSpans = doc.DocumentNode.SelectNodes("//*[@id='Inf']//span");

            string[] chaves = allInfAddSpans.Select(o => ChaveAcesso.LimparChaveAcesso(o.InnerText))
                              .Where(t => ChaveAcesso.EhChaveValida(t))
                              .ToArray();
            return(chaves);
        }
        public void TestShouldValidatesChavesAcesso()
        {
            string[] validDocs =
            {
                "52060433009911002506550120000007800267301615",
                "42100484684182000157550010000000020108042108"
            };

            foreach (var chaveAcesso in validDocs)
            {
                var ca = new ChaveAcesso(chaveAcesso);
                Assert.AreEqual <string>(chaveAcesso, ca.ToString());
            }
        }
示例#3
0
        public bool Equals(Usuario other)
        {
            if (other is null)
            {
                return(false);
            }

            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return(ID.Equals(other.ID) && ChaveAcesso.Equals(other.ChaveAcesso));
        }
        public void Deve_Gerar_Uma_Chave_Valida()
        {
            // Arrange
            // Act
            var chave = new ChaveAcesso(Estado.SaoPaulo,
                                        new DateTime(2018, 6, 1),
                                        new Cnpj("30229261000149"),
                                        Modelo.NFe,
                                        1,
                                        2499,
                                        FormaEmissao.Normal,
                                        270895);

            // Assert
            Assert.Equal("35180630229261000149550010000024991002708951", chave.Chave);
        }
        public void TestShouldSetupValidChaveAcesso()
        {
            var chaveAcesso = "52060433009911002506550120000007800267301615";

            var ca = new ChaveAcesso(chaveAcesso);

            Assert.AreEqual <int>(52, ca.UF);
            Assert.AreEqual <string>("06", ca.Ano);
            Assert.AreEqual <string>("04", ca.Mes);
            Assert.AreEqual <string>("33009911002506", ca.CNPJ);
            Assert.AreEqual <string>("55", ca.Modelo);
            Assert.AreEqual <string>("012", ca.Serie);
            Assert.AreEqual <string>("000000780", ca.Numero);
            Assert.AreEqual <string>("0", ca.FormaEmissao);
            Assert.AreEqual <string>("26730161", ca.CodigoNumerico);
            Assert.AreEqual <string>("5", ca.DigitoVerificador);
        }
示例#6
0
 public IdentificacaoPadrao400()
 {
     ChaveAcesso       = new ChaveAcesso();
     DataEmissao       = DateTime.Now;
     DataSaidaEntrada  = DateTime.Now;
     ConsumidorFinal   = Enums.ConsumidorFinal.Normal;
     Finalidade        = Enums.Finalidade.Normal;
     Modelo            = Enums.ModeloDocumento.NFe;
     NaturezaOperacao  = Enums.NaturezaOperacao.Venda;
     PresencaComprador = Enums.PresencaComprador.Presencial;
     Serie             = 1;
     TipoAmbiente      = Enums.TipoAmbiente.Producao;
     VersaoAplicativo  = "4.0";
     TipoImpressao     = Enums.TipoImpressao.DanfeNormalRetrato;
     TipoEmissao       = Enums.TipoEmissao.Normal;
     TipoOperacao      = Enums.TipoOperacao.Saida;
     ProcessoEmissao   = Enums.ProcessoEmissao.AplicativoContribuinte;
 }
        public static void run(Controller ctrl)
        {
            //5220 0907 5982 8500 0153 5500 1000 0224 2512 6059 6180
            while (true)
            {
                Console.WriteLine("Digite a chave de acesso:");
                string chave = ChaveAcesso.LimparChaveAcesso(Console.ReadLine());

                if (!ChaveAcesso.EhChaveValida(chave))
                {
                    Console.WriteLine("A chave é inválida, verifique e digite novamente");
                    continue;
                }

                //var nfces = processaNFe(ctrl, chave);

                var nfces = new string[] {
                    "52200907598285000153650010002265121702609901",
                    "52200907598285000153650010002265131307114358",
                    "52200907598285000153650010002265141718349755",
                    "52200907598285000153650010002265161231939671",
                    "52200907598285000153650010002265171546975698",
                    "52200907598285000153650010002265191656861004",
                    "52200907598285000153650010002265201598827245",
                    "52200907598285000153650010002265211915361868",
                    "52200907598285000153650010002265221173653321",
                    "52200907598285000153650010002265231277514538",
                    "52200907598285000153650010002265541319758975",
                    "52200907598285000153650010002265551485681194",
                    "52200907598285000153650010002266141372826785",
                    "52200907598285000153650010002266191745822034",
                    "52200907598285000153650010002266201162392670",
                    "52200907598285000153650010002266221385328950",
                    "52200907598285000153650010002266241050293564",
                    "52200907598285000153650010002266261522521470",
                    "52200907598285000153650010002266271099713852"
                };

                processaNFCes(ctrl, nfces);
            }
        }
        public void TestShouldReturnZeroPaddingWhenPassCodigoNumericoLess8Digits()
        {
            var ca = new ChaveAcesso(UF, Ano, Mes, CNPJ, Modelo, Serie, Numero, FormaEmissao, "123");

            Assert.AreEqual <string>("00000123", ca.CodigoNumerico);
        }
 public void TestShouldThrowArgumentExceptionWhenPassCodigoNumericoWithAlphaChars()
 {
     var ca = new ChaveAcesso(UF, Ano, Mes, CNPJ, Modelo, Serie, Numero, FormaEmissao, "12E45678");
 }
示例#10
0
 public void TestShouldThrowArgumentExceptionWhenPassCodigoNumericoMore8Digits()
 {
     var ca = new ChaveAcesso(UF, Ano, Mes, CNPJ, Modelo, Serie, Numero, FormaEmissao, "123456789");
 }
示例#11
0
 public void TestShouldThrowArgumentExceptionWhenPassInvalidChaveAcesso()
 {
     var chaveAcesso = "52060433009911002506550120000007800267301610";
     var ca          = new ChaveAcesso(chaveAcesso);
 }
示例#12
0
 public void TestShouldThrowArgumentExceptionWhenPassYearMoreThan4Chars()
 {
     var ca = new ChaveAcesso(UF, 12345, Mes, CNPJ, Modelo, Serie, Numero, FormaEmissao, CodigoNumerico);
 }
示例#13
0
        public void TestShouldThrowArgumentExceptionWhenPassYearLessThan2Chars()
        {
            var ca = new ChaveAcesso(UF, 1, Mes, CNPJ, Modelo, Serie, Numero, FormaEmissao, CodigoNumerico);

            Assert.AreEqual <string>("01", ca.Ano);
        }
示例#14
0
 public void TestShouldThrowArgumentNullExceptionWhenPassNullAsChaveAcesso()
 {
     var ca = new ChaveAcesso(null);
 }
示例#15
0
        public void TestShouldReturnZeroPaddingWhenPassSerieLess3Chars()
        {
            var ca = new ChaveAcesso(UF, Ano, Mes, CNPJ, Modelo, "1", Numero, FormaEmissao, CodigoNumerico);

            Assert.AreEqual <string>("001", ca.Serie);
        }
示例#16
0
 public void TestShouldThrowArgumentExceptionWhenPassModeloMore2Numbers()
 {
     var ca = new ChaveAcesso(UF, Ano, Mes, CNPJ, "123", Serie, Numero, FormaEmissao, CodigoNumerico);
 }
示例#17
0
        public void TestReturnCNPJWhenPassValidCNPJ()
        {
            var ca = new ChaveAcesso(UF, Ano, Mes, CNPJ, Modelo, Serie, Numero, FormaEmissao, CodigoNumerico);

            Assert.AreEqual <string>(CNPJ, ca.CNPJ);
        }
示例#18
0
 public void TestShouldThrowArgumentExceptionWhenPassInvalidCNPJ()
 {
     var ca = new ChaveAcesso(UF, Ano, Mes, "99999999000291", Modelo, Serie, Numero, FormaEmissao, CodigoNumerico);
 }
示例#19
0
 public void TestShouldThrowArgumentExceptionWhenPassFormaEmissaoMore1Digit()
 {
     var ca = new ChaveAcesso(UF, Ano, Mes, CNPJ, Modelo, Serie, Numero, "12", CodigoNumerico);
 }
示例#20
0
 public void TestShouldThrowArgumentExceptionWhenPassInvalidCodeUF()
 {
     var ca = new ChaveAcesso(99, Ano, Mes, CNPJ, Modelo, Serie, Numero, FormaEmissao, CodigoNumerico);
 }
示例#21
0
 public void TestShouldThrowArgumentNullExceptionWhenPassNullAsCodigoNumerico()
 {
     var ca = new ChaveAcesso(UF, Ano, Mes, CNPJ, Modelo, Serie, Numero, FormaEmissao, null);
 }
示例#22
0
 public void TestShouldThrowArgumentExceptionWhenPassNumeroMore9Numbers()
 {
     var ca = new ChaveAcesso(UF, Ano, Mes, CNPJ, Modelo, Serie, "1234567890", FormaEmissao, CodigoNumerico);
 }
示例#23
0
        public void TestShouldReturn2LastDigitsWhenPassYearWith4Chars()
        {
            var ca = new ChaveAcesso(UF, 1234, Mes, CNPJ, Modelo, Serie, Numero, FormaEmissao, CodigoNumerico);

            Assert.AreEqual <string>("34", ca.Ano);
        }