Ejemplo n.º 1
0
        private void CarregarConfiguracao()
        {
            var path = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            try
            {
                _configuracoes = !File.Exists(path + ArquivoConfiguracao)
                    ? new ConfiguracaoApp()
                    : FuncoesXml.ArquivoXmlParaClasse <ConfiguracaoApp>(path + ArquivoConfiguracao);
                if (_configuracoes.CfgServico.TimeOut == 0)
                {
                    _configuracoes.CfgServico.TimeOut = 3000; //mínimo
                }
                #region Carrega a logo no controle logoEmitente



                #endregion
            }
            catch (Exception ex)
            {
                if (!string.IsNullOrEmpty(ex.Message))
                {
                    Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK);
                }
            }
        }
Ejemplo n.º 2
0
        private string BuscarChaveMDFe()
        {
            var chave             = string.Empty;
            var caminhoArquivoXml = BuscarArquivoXmlMDFe();

            if (caminhoArquivoXml != null)
            {
                try
                {
                    var enviMDFe = MDFeEnviMDFe.LoadXmlArquivo(caminhoArquivoXml);

                    chave = enviMDFe.MDFe.Chave();
                }
                catch
                {
                    try
                    {
                        chave = MDFeEletronico.LoadXmlArquivo(caminhoArquivoXml).Chave();
                    }
                    catch
                    {
                        var proc = FuncoesXml.ArquivoXmlParaClasse <MDFeProcMDFe>(caminhoArquivoXml);
                        chave = proc.MDFe.Chave();
                    }
                }
            }
            return(chave);
        }
Ejemplo n.º 3
0
        private void CarregarConfiguracao()
        {
            var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            try
            {
                _configuracoes = !File.Exists(path + ArquivoConfiguracao)
                    ? new ConfiguracaoApp()
                    : FuncoesXml.ArquivoXmlParaClasse <ConfiguracaoApp>(path + ArquivoConfiguracao);

                #region Carrega a logo no controle logoEmitente

                if (_configuracoes.ConfiguracaoDanfeNfce.Logomarca != null && _configuracoes.ConfiguracaoDanfeNfce.Logomarca.Length > 0)
                {
                    using (var stream = new MemoryStream(_configuracoes.ConfiguracaoDanfeNfce.Logomarca))
                    {
                        LogoEmitente.Source = BitmapFrame.Create(stream, BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
                    }
                }

                #endregion
            }
            catch (Exception ex)
            {
                if (!string.IsNullOrEmpty(ex.Message))
                {
                    Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK);
                }
            }
        }
Ejemplo n.º 4
0
        public DacteFrCte GetReport()
        {
            cteProc cte = null;

            try
            {
                var dlg = new OpenFileDialog
                {
                    Title      = "Carrgar xml CTeProc",
                    FileName   = "",
                    DefaultExt = ".xml",
                    Filter     = "Arquivo XML(.xml) | *.xml"
                };
                dlg.ShowDialog();
                string xml = dlg.FileName;
                if (!File.Exists(xml))
                {
                    return(null);
                }

                try
                {
                    cte = FuncoesXml.ArquivoXmlParaClasse <cteProc>(xml);
                }
                catch
                {
                    cte = new cteProc()
                    {
                        CTe = FuncoesXml.ArquivoXmlParaClasse <Classes.CTe>(xml), protCTe = new Classes.Protocolo.protCTe()
                    };
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Configurar impressão", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(null);
            }

            try
            {
                var rpt = new DacteFrCte(cte,
                                         new ConfiguracaoDacte()
                {
                    Logomarca               = ImageToByte(pcbLogotipo.Image),
                    DocumentoCancelado      = chbCancelado.Checked,
                    Desenvolvedor           = txtDesenvolvedor.Text,
                    QuebrarLinhasObservacao = chbQuebrarLinhaObservacao.Checked
                },
                                         arquivoRelatorio: txtArquivo.Text);
                return(rpt);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Configurar impressão", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(null);
            }
        }
Ejemplo n.º 5
0
        private void ImprimirDanfeNfce(NfceLayoutQrCode layout)
        {
            try
            {
                #region Carrega um XML para a variável

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

                nfeProc nfeProc;

                try // Tenta carregar NFeProc
                {
                    nfeProc = FuncoesXml.ArquivoXmlParaClasse <nfeProc>(arquivoXml);
                }
                catch (Exception)  // Carrega NFCe sem protocolo
                {
                    NFe.Classes.NFe nfeContingenciaSemProc = FuncoesXml.ArquivoXmlParaClasse <NFe.Classes.NFe>(arquivoXml);
                    nfeProc = new nfeProc()
                    {
                        NFe = nfeContingenciaSemProc
                    };
                }

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

                #endregion

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

                var danfe = new DanfeFrNfce(proc: nfeProc, configuracaoDanfeNfce: _configuracoes.ConfiguracaoDanfeNfce, cIdToken: _configuracoes.CIdToken, csc: _configuracoes.Csc, 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);
                }
            }
        }
Ejemplo n.º 6
0
        public void EventoCancelar()
        {
            var config = new ConfiguracaoDao().BuscarConfiguracao();

            CarregarConfiguracoesMDFe(config);

            var evento = new ServicoMDFeEvento();

            MDFeEletronico mdfe;
            var            caminhoXml = BuscarArquivoXmlMDFe();

            try
            {
                var enviMDFe = MDFeEnviMDFe.LoadXmlArquivo(caminhoXml);

                mdfe = enviMDFe.MDFe;
            }
            catch
            {
                try
                {
                    mdfe = MDFeEletronico.LoadXmlArquivo(caminhoXml);
                }
                catch
                {
                    var proc = FuncoesXml.ArquivoXmlParaClasse <MDFeProcMDFe>(caminhoXml);
                    mdfe = proc.MDFe;
                }
            }

            var protocolo = InputBoxTuche("Digite um protocolo");

            if (string.IsNullOrEmpty(protocolo))
            {
                MessageBoxTuche("O protocolo não pode ser vazio ou nulo");
                return;
            }

            var justificativa = InputBoxTuche("Digite uma justificativa (minimo 15 digitos)");

            if (string.IsNullOrEmpty(justificativa))
            {
                MessageBoxTuche("A justificativa não pode ser vazio ou nulo");
                return;
            }

            var retorno = evento.MDFeEventoCancelar(mdfe, 1, protocolo, justificativa);

            OnSucessoSync(new RetornoEEnvio(retorno));
        }
Ejemplo n.º 7
0
        public void EventoIncluirCondutor()
        {
            var config = new ConfiguracaoDao().BuscarConfiguracao();

            CarregarConfiguracoesMDFe(config);


            var evento = new ServicoMDFeEvento();

            MDFeEletronico mdfe;
            var            caminhoXml = BuscarArquivoXmlMDFe();

            try
            {
                var enviMDFe = MDFeEnviMDFe.LoadXmlArquivo(caminhoXml);

                mdfe = enviMDFe.MDFe;
            }
            catch
            {
                try
                {
                    mdfe = MDFeEletronico.LoadXmlArquivo(caminhoXml);
                }
                catch
                {
                    var proc = FuncoesXml.ArquivoXmlParaClasse <MDFeProcMDFe>(caminhoXml);
                    mdfe = proc.MDFe;
                }
            }

            var nomeCondutor = InputBoxTuche("Nome condutor");
            var cpfCondutor  = InputBoxTuche("Cpf condutor");

            if (string.IsNullOrEmpty(nomeCondutor))
            {
                MessageBoxTuche("Nome do condutor não pode ser vazio ou nulo");
                return;
            }

            if (string.IsNullOrEmpty(cpfCondutor))
            {
                MessageBoxTuche("CPF do condutor não pode ser vazio ou nulo");
                return;
            }

            var retorno = evento.MDFeEventoIncluirCondutor(mdfe, 1, nomeCondutor, cpfCondutor);

            OnSucessoSync(new RetornoEEnvio(retorno));
        }
Ejemplo n.º 8
0
        private static async Task CarregarConfiguracao()
        {
            string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            try
            {
                _configuracoes = !File.Exists(path + ArquivoConfiguracao)
                                ? new ConfiguracaoApp()
                                : FuncoesXml.ArquivoXmlParaClasse <ConfiguracaoApp>(path + ArquivoConfiguracao);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 9
0
        public DamdfeFrMDFe GetReport()
        {
            MDFeProcMDFe mdfe = null;

            try
            {
                var dlg = new OpenFileDialog
                {
                    Title      = "Carrgar xml MDFeProc",
                    FileName   = "",
                    DefaultExt = ".xml",
                    Filter     = "Arquivo XML(.xml) | *.xml"
                };
                dlg.ShowDialog();
                string xml = dlg.FileName;
                if (!File.Exists(xml))
                {
                    return(null);
                }

                mdfe = FuncoesXml.ArquivoXmlParaClasse <MDFe.Classes.Retorno.MDFeProcMDFe>(xml);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Configurar impressão", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(null);
            }

            try
            {
                var rpt = new DamdfeFrMDFe(proc: mdfe,
                                           config: new ConfiguracaoDamdfe()
                {
                    Logomarca               = ImageToByte(pcbLogotipo.Image),
                    DocumentoEncerrado      = chbEncerrado.Checked,
                    DocumentoCancelado      = chbCancelado.Checked,
                    Desenvolvedor           = txtDesenvolvedor.Text,
                    QuebrarLinhasObservacao = chbQuebrarLinhaObservacao.Checked
                },
                                           arquivoRelatorio: txtArquivoFrx.Text);
                return(rpt);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Configurar impressão", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(null);
            }
        }
Ejemplo n.º 10
0
        public void EventoPagamentoOperacaoTransporte()
        {
            var config = new ConfiguracaoDao().BuscarConfiguracao();

            CarregarConfiguracoesMDFe(config);

            var            evento = new ServicoMDFeEvento();
            MDFeEletronico mdfe;
            var            caminhoXml = BuscarArquivoXmlMDFe();

            try
            {
                var enviMDFe = MDFeEnviMDFe.LoadXmlArquivo(caminhoXml);
                mdfe = enviMDFe.MDFe;
            }
            catch
            {
                try
                {
                    mdfe = MDFeEletronico.LoadXmlArquivo(caminhoXml);
                }
                catch
                {
                    var proc = FuncoesXml.ArquivoXmlParaClasse <MDFeProcMDFe>(caminhoXml);
                    mdfe = proc.MDFe;
                }
            }
            var protocolo  = InputBoxTuche("Protocolo");
            var qtdViagens = InputBoxTuche("Código do Município de Carregamento");
            var nroViagem  = InputBoxTuche("Nome do Município de Carregamento");

            if (string.IsNullOrEmpty(qtdViagens))
            {
                MessageBoxTuche("A quantidade de viagens não pode ser vazia ou nula");
                return;
            }
            if (string.IsNullOrEmpty(nroViagem))
            {
                MessageBoxTuche("Numero de referencia da viagem não pode ser vazio ou nulo");
                return;
            }

            var retorno = evento.MDFeEventoPagamentoOperacaoTransporte(mdfe, 1, protocolo, int.Parse(qtdViagens), int.Parse(nroViagem));

            OnSucessoSync(new RetornoEEnvio(retorno));
        }
Ejemplo n.º 11
0
        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 DanfeFrEvento(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);
                }
            }
        }
Ejemplo n.º 12
0
 public static CTeOS LoadXmlArquivo(string caminhoArquivoXml)
 {
     return(FuncoesXml.ArquivoXmlParaClasse <CTeOS>(caminhoArquivoXml));
 }
Ejemplo n.º 13
0
 /// <summary>
 ///     Carrega um arquivo XML para um objeto da classe cteProc
 /// </summary>
 /// <param name="cteProc"></param>
 /// <param name="arquivoXml">arquivo XML</param>
 /// <returns>Retorna um cteProc carregada com os dados do XML</returns>
 public static cteProc CarregarDeArquivoXml(this cteProc cteProc, string arquivoXml)
 {
     return(FuncoesXml.ArquivoXmlParaClasse <cteProc>(arquivoXml));
 }
Ejemplo n.º 14
0
 public static cteProc LoadXmlArquivo(string caminhoArquivoXml)
 {
     return(FuncoesXml.ArquivoXmlParaClasse <cteProc>(caminhoArquivoXml));
 }
Ejemplo n.º 15
0
 public static MDFeEnviMDFe LoadXmlArquivo(string caminhoArquivoXml)
 {
     return(FuncoesXml.ArquivoXmlParaClasse <MDFeEnviMDFe>(caminhoArquivoXml));
 }
Ejemplo n.º 16
0
        public void ConfiguraNfe()
        {
            // Exercício: carregue as configurações a partir do banco de dados
            var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            try
            {
                _configuracoes = !File.Exists(path + ArquivoConfiguracao) ? new ConfiguracaoApp() : FuncoesXml.ArquivoXmlParaClasse <ConfiguracaoApp>(path + ArquivoConfiguracao);
                if (_configuracoes.CfgServico.TimeOut == 0)
                {
                    _configuracoes.CfgServico.TimeOut = 100;//mínimo
                }
            }
            catch (Exception ex)
            {
                if (!String.IsNullOrEmpty(ex.Message))
                {
                    MessageBox.Show(ex.Message, "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
Ejemplo n.º 17
0
        public DacteFrEvento GetReportEvento()
        {
            cteProc cte = null;

            try
            {
                var dlg = new OpenFileDialog
                {
                    Title      = "Carrgar xml CTeProc",
                    FileName   = "",
                    DefaultExt = ".xml",
                    Filter     = "Arquivo XML(.xml) | *.xml"
                };
                dlg.ShowDialog();
                string xml = dlg.FileName;
                if (!File.Exists(xml))
                {
                    return(null);
                }

                cte = FuncoesXml.ArquivoXmlParaClasse <cteProc>(xml);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Configurar impressão", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(null);
            }

            procEventoCTe evento = null;

            try
            {
                var dlg = new OpenFileDialog
                {
                    Title      = "Carrgar xml procEventoCTe",
                    FileName   = "",
                    DefaultExt = ".xml",
                    Filter     = "Arquivo XML(.xml) | *.xml"
                };
                dlg.ShowDialog();
                string xml = dlg.FileName;
                if (!File.Exists(xml))
                {
                    return(null);
                }

                evento = FuncoesXml.ArquivoXmlParaClasse <procEventoCTe>(xml);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Configurar impressão", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(null);
            }

            try
            {
                var rpt = new DacteFrEvento(cte, evento, desenvolvedor: txtDesenvolvedor.Text, arquivoRelatorio: txtArquivo.Text);
                return(rpt);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Configurar impressão", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(null);
            }
        }
Ejemplo n.º 18
0
        public void EventoIncluirDFe()
        {
            var config = new ConfiguracaoDao().BuscarConfiguracao();

            CarregarConfiguracoesMDFe(config);

            var            evento = new ServicoMDFeEvento();
            MDFeEletronico mdfe;
            var            caminhoXml = BuscarArquivoXmlMDFe();

            try
            {
                var enviMDFe = MDFeEnviMDFe.LoadXmlArquivo(caminhoXml);
                mdfe = enviMDFe.MDFe;
            }
            catch
            {
                try
                {
                    mdfe = MDFeEletronico.LoadXmlArquivo(caminhoXml);
                }
                catch
                {
                    var proc = FuncoesXml.ArquivoXmlParaClasse <MDFeProcMDFe>(caminhoXml);
                    mdfe = proc.MDFe;
                }
            }
            var protocolo = InputBoxTuche("Protocolo");
            var codigoMunicipioCarregamento = InputBoxTuche("Código do Município de Carregamento");
            var nomeMunicipioCarregamento   = InputBoxTuche("Nome do Município de Carregamento");
            var cmunDescarga = InputBoxTuche("Código do Município de Descarga");
            var xmunDescarga = InputBoxTuche("Nome do Município de Descarga");
            var chNFe        = InputBoxTuche("Chave da NFe");

            if (string.IsNullOrEmpty(codigoMunicipioCarregamento))
            {
                MessageBoxTuche("Código do Município de Carregamento não pode ser vazio ou nulo");
                return;
            }
            if (string.IsNullOrEmpty(nomeMunicipioCarregamento))
            {
                MessageBoxTuche("Nome do Município de Carregamento não pode ser vazio ou nulo");
                return;
            }
            if (string.IsNullOrEmpty(cmunDescarga))
            {
                MessageBoxTuche("Nome do Município de Descarga não pode ser vazio ou nulo");
                return;
            }
            if (string.IsNullOrEmpty(xmunDescarga))
            {
                MessageBoxTuche("Nome do Município de Descarga não pode ser vazio ou nulo");
                return;
            }
            if (string.IsNullOrEmpty(chNFe))
            {
                MessageBoxTuche("Chave NFe não pode ser vazio ou nulo");
                return;
            }
            var informacoesDocumentos = new List <MDFeInfDocInc>
            {
                new MDFeInfDocInc
                {
                    CMunDescarga = cmunDescarga,
                    XMunDescarga = xmunDescarga,
                    ChNFe        = chNFe
                }
            };
            var retorno = evento.MDFeEventoIncluirDFe(mdfe, 1, protocolo, codigoMunicipioCarregamento, nomeMunicipioCarregamento, informacoesDocumentos);

            OnSucessoSync(new RetornoEEnvio(retorno));
        }
Ejemplo n.º 19
0
 public static enviCTe LoadXmlArquivo(string caminhoArquivoXml)
 {
     return(FuncoesXml.ArquivoXmlParaClasse <enviCTe>(caminhoArquivoXml));
 }