예제 #1
0
        private void ProcessaArquivosAutorizados(string pastaEntrada)
        {
            DirectoryInfo origem = new DirectoryInfo(pastaEntrada);

            var arquivos = origem.GetFiles();

            foreach (var arquivo in arquivos)
            {
                var nome     = arquivo.Name.Split('.').FirstOrDefault();
                var extenção = arquivo.Name.Split('.').LastOrDefault();

                DirectoryInfo Destino = SubpastasOrganizadas(PastaSaida + @"NaoProcessado\");

                if (extenção.ToUpper() != "XML")
                {
                    arquivo.MoveTo(Destino + arquivo.Name);
                    continue;
                }

                DirectoryInfo DestinoXML = new DirectoryInfo(PastaSaida + @"XML\");
                if (!DestinoXML.Exists)
                {
                    DestinoXML.Create();
                }

                using (Context a = new Context())
                {
                    Notas b = new Notas
                    {
                        Caminho     = DestinoXML.FullName + arquivo.Name,
                        Detalhes    = "Aprovada",
                        Status      = "Aprovada",
                        Numero      = RetornarNumero(arquivo, "nNF"),
                        DataProcess = DateTime.Now
                    };
                    a.Notas.Add(b);
                    a.SaveChanges();
                }


                DirectoryInfo DestinoDANFE = SubpastasOrganizadas(PastaSaida + @"DANFE\");

                try
                {
                    var modelo = DanfeViewModelCreator.CriarDeArquivoXml(arquivo.FullName);

                    using (var danfe = new Danfe(modelo))
                    {
                        danfe.Gerar();
                        danfe.Salvar(DestinoDANFE.FullName + nome + ".PDF");
                    }
                    arquivo.MoveTo(DestinoXML + arquivo.Name);
                }
                catch
                {
                    arquivo.MoveTo(Destino + arquivo.Name);
                }
            }
        }
예제 #2
0
        public void TestXml(String xmlPath)
        {
            var outPdfFilePath = Path.Combine(OutputDirectory, Path.GetFileNameWithoutExtension(xmlPath) + ".pdf");
            var model          = DanfeViewModelCreator.CriarDeArquivoXml(Path.Combine(InputXmlDirectoryPrefix, xmlPath));

            using (var danfe = new Danfe.DanfeDoc(model))
            {
                danfe.Gerar();
                danfe.Salvar(outPdfFilePath);
            }
        }
예제 #3
0
        public void TestXml()
        {
            var xmlPath        = @"C:\Laranjeiras\Xmls\XmlNFeClientes\NFe33190611367874000106550010000002311000324326.xml";
            var outPdfFilePath = Path.Combine(OutputDirectory, Path.GetFileNameWithoutExtension(xmlPath) + ".pdf");
            var model          = DanfeViewModelCreator.CriarDeArquivoXml(xmlPath);

            using (var danfe = new Danfe.DanfeDoc(model))
            {
                danfe.Gerar();
                danfe.Salvar(outPdfFilePath);
            }
        }
예제 #4
0
        static void Main(string[] args)
        {
            //Indicando o caminho da imagem para a logo
            var logoPath = @"C:\Temp\Danfe\Logo\logo.jpg";
            //Cria o modelo a partir do arquivo Xml da NF-e.
            var modelo = DanfeViewModelCreator.CriarDeArquivoXml(@"C:\Temp\Danfe\XML\26190935523703000189550010000012611000025220-nfe.xml");

            //Inicia o Danfe com o modelo criado
            using (var danfe = new Danfe(modelo))
            {
                danfe.AdicionarLogoImagem(logoPath);
                danfe.Gerar();
                danfe.Salvar("TestedanfeLogo.pdf");
            }
        }
예제 #5
0
        internal static string Salvar(string caminho)
        {
            FileInfo file = new FileInfo(caminho);

            var caminhoTemp = Path.GetTempPath();

            var modelo = DanfeViewModelCreator.CriarDeArquivoXml(file.FullName);

            string arquivo = caminhoTemp + file.Name.Split('.').FirstOrDefault() + ".PDF";


            using (var danfe = new Danfe(modelo))
            {
                danfe.Gerar();
                danfe.Salvar(arquivo);
            }

            return(arquivo);
        }
예제 #6
0
        public void GerarDanfeXml()
        {
            string pasta      = @"D:\NFe";
            string caminhoOut = "DanfesDeXml";

            if (!Directory.Exists(caminhoOut))
            {
                Directory.CreateDirectory(caminhoOut);
            }

            foreach (var pathXml in Directory.EnumerateFiles(pasta, "*.xml"))
            {
                var model = DanfeViewModelCreator.CriarDeArquivoXml(pathXml);
                using (Danfe danfe = new Danfe(model))
                {
                    danfe.Gerar();
                    danfe.Salvar($"{caminhoOut}/{model.ChaveAcesso}.pdf");
                }
            }
        }
예제 #7
0
파일: DanfeTest.cs 프로젝트: nfe/DanfeSharp
        public void GerarDanfeNFCXml()
        {
            string pasta      = @"D:\teste\d\";
            string caminhoOut = @"D:\teste\s\";

            if (!Directory.Exists(caminhoOut))
            {
                Directory.CreateDirectory(caminhoOut);
            }

            foreach (var pathXml in Directory.EnumerateFiles(pasta, "*.xml"))
            {
                var model = DanfeViewModelCreator.CriarModeloNFCeDeArquivoXml(pathXml);
                using (var danfe = new DanfeNFC(viewModel: model))
                {
                    danfe.Gerar();
                    danfe.Salvar($"{caminhoOut}/{model.ChaveAcesso}.pdf");
                }
            }
        }
예제 #8
0
        public async Task <IActionResult> Index()
        {
            string xml = null;

            using (var reader = new StreamReader(Request.Body, Encoding.UTF8))
            {
                xml = await reader.ReadToEndAsync();
            }

            var modelo = DanfeViewModelCreator.CriarDeStringXml(xml);

            using (var pdfStream = new MemoryStream())
            {
                using (var danfe = new DanfeDoc(modelo))
                {
                    danfe.ViewModel.DefinirTextoCreditos("Desenvolvido por [ www.laranjeiras.dev / (21)997706037 ]");
                    danfe.Gerar();
                    var bytesPdf = danfe.ObterPdfBytes(pdfStream);
                    return(File(bytesPdf, "Application/pdf", $"{modelo.ChaveAcesso}.pdf"));
                }
            }
        }