/// <summary>
        /// Responsavel Exibir Danfe
        /// </summary>
        /// <param name="xmlNfe"></param>
        /// <returns></returns>
        public void VisualizarDanfe(string xmlNfe)
        {
            try
            {
                #region Carrega um XML com nfeProc para a variável

                var arquivoXml = xmlNfe;


                if (string.IsNullOrEmpty(arquivoXml))
                {
                    return;
                }

                nfeProc proc = null;

                try
                {
                    //proc = new nfeProc().CarregarDeArquivoXml(arquivoXml);
                    proc = new nfeProc().CarregarDeXmlString(arquivoXml);
                }
                catch //Carregar NFe ainda não transmitida à sefaz, como uma pré-visualização.
                {
                    //proc = new nfeProc() { NFe = new NFe().CarregarDeArquivoXml(arquivoXml), protNFe = new protNFe() };
                    proc = new nfeProc()
                    {
                        NFe = new Classes.NFe().CarregarDeXmlString(arquivoXml), protNFe = new protNFe()
                    };
                }

                if (proc.NFe.infNFe.ide.mod != ModeloDocumento.NFe)
                {
                    throw new Exception("O XML informado não é um NFe!");
                }

                /*
                 * //Carregar atravez de um stream....
                 * var stream = new StreamReader(arquivoXml, Encoding.GetEncoding("ISO-8859-1"));
                 * var proc = new nfeProc().CarregardeStream(stream);
                 */
                #endregion

                #region Abre a visualização do relatório para impressão
                var danfe = new DanfeFrNfe(proc: proc,
                                           configuracaoDanfeNfe: new ConfiguracaoDanfeNfe(),
                                           desenvolvedor: SoftHouse,
                                           arquivoRelatorio: string.Empty);

                danfe.Visualizar();
                //danfe.Imprimir();
                //danfe.ExibirDesign();
                //danfe.ExportarPdf(@"d:\teste.pdf");

                #endregion
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        /// <summary>
        /// Responsavel Exportar Danfe
        /// </summary>
        /// <param name="xmlNfe"></param>
        /// <param name="nomeArquivo"></param>
        /// <returns></returns>
        public void ExportarDanfe(string xmlNfe, string nomeArquivo)
        {
            try
            {
                #region Carrega um XML com nfeProc para a variável

                var arquivoXml = xmlNfe;


                if (string.IsNullOrEmpty(arquivoXml))
                {
                    return;
                }

                nfeProc proc = null;

                try
                {
                    //proc = new nfeProc().CarregarDeArquivoXml(arquivoXml);
                    proc = new nfeProc().CarregarDeXmlString(arquivoXml);
                }
                catch //Carregar NFe ainda não transmitida à sefaz, como uma pré-visualização.
                {
                    //proc = new nfeProc() { NFe = new NFe().CarregarDeArquivoXml(arquivoXml), protNFe = new protNFe() };
                    proc = new nfeProc()
                    {
                        NFe = new Classes.NFe().CarregarDeXmlString(arquivoXml), protNFe = new protNFe()
                    };
                }

                if (proc.NFe.infNFe.ide.mod != ModeloDocumento.NFe)
                {
                    throw new Exception("O XML informado não é um NFe!");
                }

                #endregion

                #region Abre a visualização do relatório para impressão
                var danfe = new DanfeFrNfe(proc: proc,
                                           configuracaoDanfeNfe: new ConfiguracaoDanfeNfe(),
                                           desenvolvedor: SoftHouse,
                                           arquivoRelatorio: string.Empty);


                danfe.ExportarPdf(nomeArquivo);

                #endregion
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Example #3
0
        private static DanfeFrNfe GeraClasseDanfeFrNFe(string xml)
        {
            var configuracaoDanfeNfe = _configuracoes.ConfiguracaoDanfeNfe;

            try
            {
                #region Carrega um XML com nfeProc para a variável
                nfeProc proc = null;
                try
                {
                    proc = new nfeProc().CarregarDeXmlString(xml);
                }
                catch //Carregar NFe ainda não transmitida à sefaz, como uma pré-visualização.
                {
                    proc = new nfeProc()
                    {
                        NFe = new Classes.NFe().CarregarDeXmlString(xml), protNFe = new Classes.Protocolo.protNFe()
                    };
                }

                if (proc.NFe.infNFe.ide.mod != ModeloDocumento.NFe)
                {
                    throw new Exception("O XML informado não é um NFe!");
                }
                #endregion

                DanfeFrNfe danfe = new DanfeFrNfe(proc: proc, configuracaoDanfeNfe: new ConfiguracaoDanfeNfe()
                {
                    Logomarca               = configuracaoDanfeNfe.Logomarca,
                    DuasLinhas              = false,
                    DocumentoCancelado      = false,
                    QuebrarLinhasObservacao = configuracaoDanfeNfe.QuebrarLinhasObservacao,
                    ExibirResumoCanhoto     = configuracaoDanfeNfe.ExibirResumoCanhoto,
                    ResumoCanhoto           = configuracaoDanfeNfe.ResumoCanhoto,
                    ChaveContingencia       = configuracaoDanfeNfe.ChaveContingencia,
                    ExibeCampoFatura        = configuracaoDanfeNfe.ExibeCampoFatura,
                    ImprimirISSQN           = configuracaoDanfeNfe.ImprimirISSQN,
                    ImprimirDescPorc        = configuracaoDanfeNfe.ImprimirDescPorc,
                    ImprimirTotalLiquido    = configuracaoDanfeNfe.ImprimirTotalLiquido,
                    ImprimirUnidQtdeValor   = configuracaoDanfeNfe.ImprimirUnidQtdeValor,
                    ExibirTotalTributos     = configuracaoDanfeNfe.ExibirTotalTributos,
                    ExibeRetencoes          = configuracaoDanfeNfe.ExibeRetencoes
                },
                                                  desenvolvedor: "NOME DA SOFTWARE HOUSE",
                                                  arquivoRelatorio: string.Empty);

                return(danfe);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void btnEventoNFe_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                #region Carrega um XML com nfeProc para a variável

                var arquivoXml = Funcoes.BuscarArquivoXml();
                if (string.IsNullOrEmpty(arquivoXml))
                {
                    return;
                }
                var proc = new nfeProc().CarregarDeArquivoXml(arquivoXml);
                if (proc.NFe.infNFe.ide.mod != ModeloDocumento.NFe)
                {
                    throw new Exception("O XML informado não é um NFe!");
                }


                arquivoXml = Funcoes.BuscarArquivoXml();
                if (string.IsNullOrEmpty(arquivoXml))
                {
                    return;
                }
                var procEvento = FuncoesXml.ArquivoXmlParaClasse <procEventoNFe>(arquivoXml);

                #endregion

                #region Abre a visualização do relatório para impressão
                var danfe = new DanfeFrNfe(proc, procEvento, new ConfiguracaoDanfeNfe(_configuracoes.ConfiguracaoDanfeNfce.Logomarca, rdbDuasLinhas.IsChecked ?? false, chbCancelado.IsChecked ?? false), "NOME DA SOFTWARE HOUSE");
                danfe.Visualizar();
                //danfe.Imprimir();
                //danfe.ExibirDesign();
                //danfe.ExportarPdf(@"d:\teste.pdf");

                #endregion
            }
            catch (Exception ex)
            {
                if (!string.IsNullOrEmpty(ex.Message))
                {
                    Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK);
                }
            }
        }
        public void SalvarPDFArquivo(string arquivoNome, string conteudoXML, TipoAmbiente tpAmb)
        {
            DirectoryInfo di;

            if (tpAmb == TipoAmbiente.Homologacao)
            {
                di = Directory.CreateDirectory(Path.Combine("pdfHom\\"));
            }
            else
            {
                di = Directory.CreateDirectory(Path.Combine("pdf\\"));
            }


            #region Carrega um XML com nfeProc para a variável
            nfeProc proc = null;

            try
            {
                proc = new nfeProc().CarregarDeXmlString(conteudoXML);
            }
            catch //Carregar NFe ainda não transmitida à sefaz, como uma pré-visualização.
            {
                proc = new nfeProc()
                {
                    NFe = new Classes.NFe().CarregarDeXmlString(conteudoXML), protNFe = new protNFe()
                };
            }
            #endregion

            #region Abre a visualização do relatório para impressão
            var danfe = new DanfeFrNfe(proc: proc,
                                       configuracaoDanfeNfe: new ConfiguracaoDanfeNfe(),
                                       desenvolvedor: SoftHouse,
                                       arquivoRelatorio: string.Empty);


            danfe.ExportarPdf(di.FullName + arquivoNome + ".pdf");
            #endregion
        }
        private void BtnNfeDanfeA4_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                #region Carrega um XML com nfeProc para a variável

                var arquivoXml = Funcoes.BuscarArquivoXml();
                if (string.IsNullOrEmpty(arquivoXml))
                {
                    return;
                }
                var proc = new nfeProc().CarregarDeArquivoXml(arquivoXml);
                if (proc.NFe.infNFe.ide.mod != ModeloDocumento.NFe)
                {
                    throw new Exception("O XML informado não é um NFe!");
                }

                #endregion

                #region Abre a visualização do relatório para impressão

                var danfe = new DanfeFrNfe(proc, new ConfiguracaoDanfeNfe(_configuracoes.ConfiguracaoDanfeNfce.Logomarca));
                //danfe.Visualizar();
                //danfe.Imprimir();
                danfe.ExibirDesign();
                //danfe.ExportarPdf(@"d:\teste.pdf");

                #endregion
            }
            catch (Exception ex)
            {
                if (!string.IsNullOrEmpty(ex.Message))
                {
                    Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK);
                }
            }
        }
Example #7
0
        private void BtnNfeDanfeA4_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                #region Carrega um XML com nfeProc para a variável

                var arquivoXml = Funcoes.BuscarArquivoXml();
                if (string.IsNullOrEmpty(arquivoXml))
                {
                    return;
                }

                nfeProc proc = null;

                try
                {
                    proc = new nfeProc().CarregarDeArquivoXml(arquivoXml);
                }
                catch //Carregar NFe ainda não transmitida à sefaz, como uma pré-visualização.
                {
                    proc = new nfeProc()
                    {
                        NFe = new Classes.NFe().CarregarDeArquivoXml(arquivoXml), protNFe = new Classes.Protocolo.protNFe()
                    };
                }

                if (proc.NFe.infNFe.ide.mod != ModeloDocumento.NFe)
                {
                    throw new Exception("O XML informado não é um NFe!");
                }

                /*
                 * //Carregar atravez de um stream....
                 * var stream = new StreamReader(arquivoXml, Encoding.GetEncoding("ISO-8859-1"));
                 * var proc = new nfeProc().CarregardeStream(stream);
                 */
                #endregion

                #region Abre a visualização do relatório para impressão
                var danfe = new DanfeFrNfe(proc: proc,
                                           configuracaoDanfeNfe: new ConfiguracaoDanfeNfe()
                {
                    Logomarca               = _configuracoes.ConfiguracaoDanfeNfce.Logomarca,
                    DuasLinhas              = RdbDuasLinhas.IsChecked ?? false,
                    DocumentoCancelado      = ChbCancelado.IsChecked ?? false,
                    QuebrarLinhasObservacao = _configuracoes.ConfiguracaoDanfeNfe.QuebrarLinhasObservacao,
                    ExibirResumoCanhoto     = _configuracoes.ConfiguracaoDanfeNfe.ExibirResumoCanhoto,
                    ResumoCanhoto           = _configuracoes.ConfiguracaoDanfeNfe.ResumoCanhoto,
                    ChaveContingencia       = _configuracoes.ConfiguracaoDanfeNfe.ChaveContingencia,
                    ExibeCampoFatura        = _configuracoes.ConfiguracaoDanfeNfe.ExibeCampoFatura,
                    ImprimirISSQN           = _configuracoes.ConfiguracaoDanfeNfe.ImprimirISSQN,
                    ImprimirDescPorc        = _configuracoes.ConfiguracaoDanfeNfe.ImprimirDescPorc,
                    ImprimirTotalLiquido    = _configuracoes.ConfiguracaoDanfeNfe.ImprimirTotalLiquido,
                    ImprimirUnidQtdeValor   = _configuracoes.ConfiguracaoDanfeNfe.ImprimirUnidQtdeValor,
                    ExibirTotalTributos     = _configuracoes.ConfiguracaoDanfeNfe.ExibirTotalTributos
                },
                                           desenvolvedor: "NOME DA SOFTWARE HOUSE",
                                           arquivoRelatorio: string.Empty);

                //danfe.Visualizar();
                //danfe.Imprimir();
                danfe.ExibirDesign();
                //danfe.ExportarPdf(@"d:\teste.pdf");

                #endregion
            }
            catch (Exception ex)
            {
                if (!string.IsNullOrEmpty(ex.Message))
                {
                    Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK);
                }
            }
        }