示例#1
0
 private void calcularImpostoNFCECtempToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show("Confirma o Cálculo de Totais das NFCE da pasta C:\temp?", "Confirma Cálculo Totais", MessageBoxButtons.YesNo) == DialogResult.Yes)
     {
         GerenciadorNFe.GetInstance().CalcularTotaisNFCe("C:\\temp\\nfe\\");
     }
 }
        private void btnImprimir_Click(object sender, EventArgs e)
        {
            this.Close();
            try
            {
                Saida.Observacao = observacaoTextBox.Text;
            }
            catch (Exception)
            {
                throw new NegocioException("Número da nota fiscal inválido. Favor verificar o formato e a sequência da numeração.");
            }
            if (Saida.CupomFiscal.Trim().Equals(""))
            {
                GerenciadorSaida.GetInstance(null).AtualizarNfePorCodSaida(Saida.Nfe, Saida.Observacao, Saida.CodSaida);
            }
            else
            {
                GerenciadorSaida.GetInstance(null).AtualizarNfePorPedidoGerado(Saida.Nfe, Saida.Observacao, Saida.CupomFiscal);
            }
            NfeControle nfe = new NfeControle();

            nfe.CodNfe = GerenciadorNFe.GetInstance().Inserir(nfe, Saida);
            nfe.Chave  = GerenciadorNFe.GetInstance().GerarChaveNFE(Saida, nfe);

            if (!string.IsNullOrEmpty(nfe.Chave))
            {
                GerenciadorNFe.GetInstance().Atualizar(nfe);
                GerenciadorNFe.GetInstance().EnviarNFE(Saida, nfe);
            }
            //GerenciadorSaida.GetInstance(null).ImprimirNotaFiscal(Saida);
        }
示例#3
0
        /// <summary>
        /// Permite realizar a impressão de Cupons Fiscais e NF-e
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnCfNfe_Click(object sender, EventArgs e)
        {
            saida = GerenciadorSaida.GetInstance(null).Obter(long.Parse(codSaidaTextBox.Text));

            List <SaidaPedido>    listaSaidaPedido    = new List <SaidaPedido>();
            List <SaidaPagamento> listaSaidaPagamento = new List <SaidaPagamento>();

            listaSaidaPedido.Add(new SaidaPedido()
            {
                CodSaida = saida.CodSaida, TotalAVista = saida.TotalAVista
            });
            listaSaidaPagamento = GerenciadorSaidaPagamento.GetInstance(null).ObterPorSaida(saida.CodSaida);

            FrmSaidaNFe frmSaidaNF = new FrmSaidaNFe(saida.CodSaida, listaSaidaPedido, listaSaidaPagamento);

            frmSaidaNF.ShowDialog();
            frmSaidaNF.Dispose();

            List <NfeControle> listaNfes = GerenciadorNFe.GetInstance().ObterPorSaida(saida.CodSaida).ToList();

            saida = GerenciadorSaida.GetInstance(null).Obter(saida.CodSaida);
            if ((saida.TipoSaida.Equals(Saida.TIPO_PRE_VENDA)) && (listaNfes.Where(nfe => nfe.SituacaoNfe.Equals(NfeControle.SITUACAO_AUTORIZADA)).Count() == 0))
            {
                if (MessageBox.Show("Não há NFes AUTORIZADAS. Deseja transformar essa PRÉ-VENDA em ORÇAMENTO?", "PRÉ-VENDA para ORÇAMENTO", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                {
                    GerenciadorSaida.GetInstance(null).Remover(saida);
                }
            }
            codSaidaTextBox_TextChanged(sender, e);
        }
示例#4
0
 private void enviarNFesEmitidasOffLineToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show("Confirma que Ambiente está On-line para Autorizar NFEs emitidas Off-Line?", "Confirma Ambiente On-Line", MessageBoxButtons.YesNo) == DialogResult.Yes)
     {
         GerenciadorNFe.GetInstance().EnviarNFEsOffLine();
     }
 }
示例#5
0
 private void btnCartaCorrecao_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show("Confirma envio de Carta Correção da Nf-e?", "Correção da NF-e", MessageBoxButtons.OKCancel) == DialogResult.OK)
     {
         NfeControle nfeControle = (NfeControle)nfeControleBindingSource.Current;
         GerenciadorNFe.GetInstance().EnviarCartaCorrecaoNfe(nfeControle);
     }
 }
示例#6
0
 private void btnSituacao_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show("Confirma envio de solicitação de Consulta a NF-e?", "Consulta na Base da SEFAZ da NF-e", MessageBoxButtons.OKCancel) == DialogResult.OK)
     {
         NfeControle nfeControle = (NfeControle)nfeControleBindingSource.Current;
         GerenciadorNFe.GetInstance().EnviarConsultaNfe(nfeControle);
     }
 }
示例#7
0
 private void btnCancelar_Click(object sender, EventArgs e)
 {
     if (nfeControle != null)
     {
         nfeControle.CodSolicitacao = 0;
         GerenciadorNFe.GetInstance().Atualizar(nfeControle);
     }
     this.Close();
 }
示例#8
0
 private void btnImprimir_Click(object sender, EventArgs e)
 {
     //nfeControle = GerenciadorNFe.GetInstance().ObterPorSolicitacao(codSolicitacao).FirstOrDefault();
     if (nfeControle != null)
     {
         GerenciadorNFe.GetInstance().imprimirDANFE(nfeControle, SERVIDOR_IMPRIMIR_NFE);
     }
     this.Close();
 }
示例#9
0
        public FrmSaidaNFe(long codSaida)
        {
            InitializeComponent();
            this.codSaida = codSaida;
            this.Saida    = GerenciadorSaida.GetInstance(null).Obter(codSaida);
            IEnumerable <Pessoa> listaPessoas = GerenciadorPessoa.GetInstance().Obter(Saida.CodCliente);

            nfeControleBindingSource.DataSource = GerenciadorNFe.GetInstance().ObterPorSaida(codSaida);
            if (Saida.CodCliente != Global.CLIENTE_PADRAO)
            {
                pessoaBindingSource.DataSource = listaPessoas;
                Cliente = listaPessoas.FirstOrDefault();
                codPessoaComboBox.Enabled = false;
                codPessoaComboBox.TabStop = false;
            }
            else
            {
                pessoaBindingSource.DataSource = GerenciadorPessoa.GetInstance().ObterTodos();
                codPessoaComboBox.Focus();
            }

            if (Saida.Observacao.Trim().Equals(""))
            {
                if (Saida.TipoSaida == Saida.TIPO_REMESSA_DEPOSITO)
                {
                    Saida.Observacao = "Nao Incidencia de ICMS conforme Art 2o, XI do RICMS/SE";
                }
                else if (Saida.TipoSaida == Saida.TIPO_VENDA)
                {
                    Saida.Observacao = "Cod Cliente: " + Saida.CodCliente;
                }
                else if (Saida.TipoSaida == Saida.TIPO_DEVOLUCAO_FORNECEDOR)
                {
                    Entrada entrada = GerenciadorEntrada.GetInstance().Obter(Saida.CodEntrada).ElementAtOrDefault(0);
                    Saida.Observacao += " Devolução de Mercadorias relativo a nota fiscal número " + entrada.NumeroNotaFiscal +
                                        " de " + entrada.DataEmissao.ToShortDateString() + " por estar em desacordo com o pedido. Valor da operação = R$ " +
                                        Saida.TotalNotaFiscal.ToString("N2") + ". Base de Cálculo do ICMS = R$ " + Saida.BaseCalculoICMS.ToString("N2") +
                                        ". Valor do ICMS = R$ " + Saida.ValorICMS.ToString("N2") + ". Base de Cálculo do ICMS ST = R$ " + Saida.BaseCalculoICMSSubst.ToString("N2") +
                                        ". Valor do ICMS ST = R$ " + Saida.ValorICMSSubst.ToString("N2") + ". Valor do IPI = R$ " + Saida.ValorIPI.ToString("N2");
                }
                else if (Saida.TipoSaida == Saida.TIPO_DEVOLUCAO_CONSUMIDOR)
                {
                    SaidaPesquisa saidaCupomVenda = GerenciadorSaida.GetInstance(null).ObterPorPedido(Saida.CupomFiscal).ElementAtOrDefault(0);
                    if (Saida.TotalAVista < saidaCupomVenda.TotalAVista)
                    {
                        Saida.Observacao += "Devolução Parcial referente ao cupom fiscal " + saidaCupomVenda.CupomFiscal + " emitido em " + saidaCupomVenda.DataSaida.ToShortDateString() + ". Motivo da Devolução: Cliente não precisou dos itens comprados. Cupom fiscal e Nf-e relativas a venda referenciadas abaixo";
                    }
                    else
                    {
                        Saida.Observacao += "Devolução Total referente ao cupom fiscal " + saidaCupomVenda.CupomFiscal + " emitido em " + saidaCupomVenda.DataSaida.ToShortDateString() + ". Motivo da Devolução: Cliente não precisou dos itens comprados. Cupom fiscal e Nf-e relativas a venda referenciadas abaixo";
                    }
                }
            }
            Saida.Nfe = "NF-e";
            observacaoTextBox.Text = Saida.Observacao;
        }
示例#10
0
 private void btnCancelar_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show("Confirma envio de pedido de cancelamento da NF-e?", "Cancelar NF-e", MessageBoxButtons.OKCancel) == DialogResult.OK)
     {
         NfeControle _nfeCurrent  = (NfeControle)nfeControleBindingSource.Current;
         NfeControle _nfeControle = GerenciadorNFe.GetInstance().Obter(_nfeCurrent.CodNfe).ElementAtOrDefault(0);
         _nfeControle.JustificativaCancelamento = _nfeCurrent.JustificativaCancelamento;
         _nfeControle.CodSaida = _nfeCurrent.CodSaida;
         GerenciadorNFe.GetInstance().EnviarSolicitacaoCancelamento(_nfeControle);
     }
 }
示例#11
0
 private void fileSystemWatcherDeposito_Changed(object sender, FileSystemEventArgs e)
 {
     if (nomeComputador.ToUpper().Equals(SERVIDOR_NFE))
     {
         if (lojaDeposito == null)
         {
             lojaDeposito = GerenciadorLoja.GetInstance().Obter(2).ElementAtOrDefault(0);
         }
         GerenciadorNFe.GetInstance().RecuperarRetornosNfe(lojaDeposito);
     }
 }
示例#12
0
        private void EhPossivelEnviarSolicitacao(List <SaidaPedido> listaSaidaPedido, DocumentoFiscal.TipoSolicitacao tipoSolicitacao, bool ehComplementar)
        {
            var         repSolicitacaoSaida = new RepositorioGenerico <tb_solicitacao_saida>();
            List <long> listaCodSaidas      = listaSaidaPedido.Select(s => s.CodSaida).ToList();

            var solicitacoes = repSolicitacaoSaida.Obter(ss => listaCodSaidas.Contains(ss.codSaida));

            if (solicitacoes.Count() > 0)
            {
                throw new NegocioException("A solicitação já foi enviada. Favor aguardar processamento.");
            }
            // Verifica se cupom fiscal já foi emitido em algumas das saidas
            if (tipoSolicitacao.Equals(DocumentoFiscal.TipoSolicitacao.ECF))
            {
                var          repSaida     = new RepositorioGenerico <tb_saida>();
                SaceEntities saceEntities = (SaceEntities)repSaida.ObterContexto();
                var          query        = from saida in saceEntities.tb_saida
                                            where listaCodSaidas.Contains(saida.codSaida) && !String.IsNullOrEmpty(saida.pedidoGerado)
                                            select saida;
                if (query.Count() > 0)
                {
                    throw new NegocioException("Cumpom Fiscal já foi emitido para algum dos pedidos dessa solicitação.");
                }
            }
            if (tipoSolicitacao.Equals(DocumentoFiscal.TipoSolicitacao.NFE) || tipoSolicitacao.Equals(DocumentoFiscal.TipoSolicitacao.NFCE))
            {
                var          repSaida     = new RepositorioGenerico <tb_nfe>();
                SaceEntities saceEntities = (SaceEntities)repSaida.ObterContexto();
                foreach (long codSaida in listaCodSaidas)
                {
                    // Verifica se existem notas emitidas
                    IEnumerable <NfeControle> nfeControles = GerenciadorNFe.GetInstance().ObterPorSaida(codSaida);

                    if (!ehComplementar && nfeControles.Where(nfeC => nfeC.SituacaoNfe.Equals(NfeControle.SITUACAO_AUTORIZADA)).Count() > 0)
                    {
                        throw new NegocioException("Uma NF-e já foi AUTORIZADA para esse pedido.");
                    }
                    if ((ehComplementar) && nfeControles.Where(nfeC => nfeC.SituacaoNfe.Equals(NfeControle.SITUACAO_AUTORIZADA)).Count() == 0)
                    {
                        throw new NegocioException("Uma NF-e Complementar só pode ser emitida quando existe uma NF-e enviada e Autorizada.");
                    }
                }
            }
        }
示例#13
0
 private static void ProcessarDocumentosFiscais()
 {
     if (nomeComputador.ToUpper().Equals(SERVIDOR_CARTAO))
     {
         List <SolicitacaoPagamento> listaSolicitacaoPagamento = GerenciadorSolicitacaoDocumento.GetInstance().ObterSolicitacaoPagamentoCartao();
         if (listaSolicitacaoPagamento.Count() > 0)
         {
             List <Cartao.Pagamento> listaPagamento = new List <Cartao.Pagamento>();
             foreach (SolicitacaoPagamento solicitacaoPagamento in listaSolicitacaoPagamento)
             {
                 listaPagamento.Add(new Cartao.Pagamento()
                 {
                     NomeCartao              = solicitacaoPagamento.NomeCartaoCredito,
                     QuantidadeParcelas      = (int)solicitacaoPagamento.Parcelas,
                     TipoCartao              = solicitacaoPagamento.TipoCartao.Equals(SolicitacaoPagamento.TCartao.CREDITO) ? Cartao.TipoCartao.CREDITO : Cartao.TipoCartao.DEBITO,
                     TipoParcelamento        = Cartao.TipoParcelamento.LOJA,
                     CodSolicitacaoPagamento = solicitacaoPagamento.CodSolicitacaoPagamento,
                     CodSolicitacao          = solicitacaoPagamento.CodSolicitacao,
                     Situacao = Cartao.Pagamento.SituacaoPagamento.SOLICITADA,
                     Valor    = (double)solicitacaoPagamento.Valor,
                 });
             }
             if (comunicacaoCartao == null)
             {
                 comunicacaoCartao = new Cartao.ComunicacaoCartao();
             }
             Cartao.FrmProcessarCartao frmProcessarCartao = new Cartao.FrmProcessarCartao(comunicacaoCartao, listaPagamento);
             frmProcessarCartao.ShowDialog();
             GerenciadorSolicitacaoDocumento.GetInstance().InserirRespostaCartao(frmProcessarCartao.ResultadoProcessamento);
             frmProcessarCartao.Close();
         }
     }
     if (nomeComputador.ToUpper().Equals(SERVIDOR))
     {
         GerenciadorSolicitacaoDocumento.GetInstance().EnviarProximoECF();
         GerenciadorSolicitacaoDocumento.GetInstance().AtualizarPedidosComDocumentosFiscais(SERVIDOR);
     }
     if (nomeComputador.ToUpper().Equals(SERVIDOR_NFE) || nomeComputador.ToUpper().Equals(SERVIDOR_NFE_DEPOSITO))
     {
         GerenciadorNFe.GetInstance().EnviarProximoNFe();
         GerenciadorNFe.GetInstance().RecuperarRetornosNfe();
     }
 }
示例#14
0
 private static void ProcessarDocumentosFiscais()
 {
     GerenciadorNFe.GetInstance().imprimirDANFE(null, SERVIDOR_NFE);
     if (nomeComputador.ToUpper().Equals(SERVIDOR_IMPRIMIR_REDUZIDO1))
     {
         GerenciadorSaida.GetInstance(null).ImprimirDAV(Global.Impressora.REDUZIDO1);
     }
     if (nomeComputador.ToUpper().Equals(SERVIDOR_IMPRIMIR_REDUZIDO2))
     {
         GerenciadorSaida.GetInstance(null).ImprimirDAV(Global.Impressora.REDUZIDO2);
     }
     if (nomeComputador.ToUpper().Equals(SERVIDOR_NFE))
     {
         GerenciadorSolicitacaoDocumento.GetInstance().EnviarProximoNFe(SERVIDOR_NFE);
         GerenciadorSolicitacaoDocumento.GetInstance().EnviarProximoNFCe(SERVIDOR_NFE);
         GerenciadorNFe.GetInstance().ProcessarSolicitacoesCancelamento();
         GerenciadorNFe.GetInstance().ProcessaSolicitacaoConsultaNfe();
         GerenciadorProduto.GetInstance().AtualizarSituacaoProdutoServidor(SERVIDOR_NFE);
     }
 }
示例#15
0
 private void btnImportarNfe_Click(object sender, EventArgs e)
 {
     if (openFileDialogNfe.ShowDialog() == DialogResult.OK)
     {
         string   nomearquivo = openFileDialogNfe.FileName;
         TNfeProc nfe         = GerenciadorNFe.GetInstance().LerNFE(nomearquivo);
         if (MessageBox.Show("Deseja importar CABEÇALHO da NF-e?", "Confirmar Importar NF-e", MessageBoxButtons.YesNo) == DialogResult.Yes)
         {
             Cursor.Current = Cursors.WaitCursor;
             long codEntrada = GerenciadorEntrada.GetInstance().Importar(nfe);
             fornecedorBindingSource.DataSource   = GerenciadorPessoa.GetInstance().ObterTodos();
             empresaFreteBindingSource.DataSource = GerenciadorPessoa.GetInstance().ObterTodos();
             entradaBindingSource.DataSource      = GerenciadorEntrada.GetInstance().ObterTodos();
             entradaBindingSource.Position        = entradaBindingSource.List.IndexOf(new Entrada()
             {
                 CodEntrada = codEntrada
             });
             Cursor.Current = Cursors.Default;
         }
         if (MessageBox.Show("Deseja importar PRODUTOS da NF-e?", "Confirmar Importar NF-e", MessageBoxButtons.YesNo) == DialogResult.Yes)
         {
             List <EntradaProduto> listaEntradaProduto = GerenciadorEntradaProduto.GetInstance(null).Importar(nfe);
             Entrada entrada = (Entrada)entradaBindingSource.Current;
             if (listaEntradaProduto.Count > 0)
             {
                 if (entrada.CodEntrada != listaEntradaProduto[0].CodEntrada)
                 {
                     entradaBindingSource.Position = entradaBindingSource.List.IndexOf(new Entrada()
                     {
                         CodEntrada = listaEntradaProduto[0].CodEntrada
                     });
                 }
             }
             entrada = (Entrada)entradaBindingSource.Current;
             FrmEntradaImportar frmEntradaImportar = new FrmEntradaImportar(entrada, listaEntradaProduto);
             frmEntradaImportar.ShowDialog();
             frmEntradaImportar.Dispose();
             codEntradaTextBox_TextChanged(sender, e);
         }
     }
 }
示例#16
0
        private void btnBuscar_Click(object sender, EventArgs e)
        {
            int posicao = nfeControleBindingSource.Position;
            IEnumerable <NfeControle> listaNfeControleExibida = (IEnumerable <NfeControle>)nfeControleBindingSource.DataSource;
            IEnumerable <NfeControle> listaNfeControle        = GerenciadorNFe.GetInstance().ObterPorSaida(codSaida);

            if (listaNfeControle.Count() > 0)
            {
                var listaControleExibida = new HashSet <String>(listaNfeControleExibida.Select(nfe => nfe.SituacaoNfe).ToList());
                var listaControle        = new HashSet <String>(listaNfeControle.Select(nfe => nfe.SituacaoNfe).ToList());
                //Boolean iguais = listaControle.SetEquals(listaControleExibida);


                if ((listaNfeControleExibida.Count() != listaNfeControle.Count()) ||
                    !listaControle.SetEquals(listaControleExibida))
                {
                    nfeControleBindingSource.DataSource = listaNfeControle;
                    nfeControleBindingSource.Position   = posicao;
                    nfeControleBindingSource.ResumeBinding();
                }
            }
        }
示例#17
0
 private void ExibirResultadoProcessamentoNfe(Dados.tb_solicitacao_documento documentoE)
 {
     if (!documentoE.nfeProcessada)
     {
         lblCartao.Text = "Aguardando Autorização NF-e... ";
         Cursor.Current = Cursors.WaitCursor;
     }
     else
     {
         Dados.tb_solicitacao_saida solicitacaoSaida = documentoE.tb_solicitacao_saida.FirstOrDefault();
         // recupera a último envio da nfe
         NfeControle nfeControle = GerenciadorNFe.GetInstance().ObterPorSaida(solicitacaoSaida.codSaida).OrderBy(nfe => nfe.CodNfe).LastOrDefault();
         if (nfeControle != null && !nfeControle.SituacaoNfe.Equals(NfeControle.SITUACAO_SOLICITADA))
         {
             Cursor.Current = Cursors.WaitCursor;
             if (nfeControle.SituacaoNfe.Equals(NfeControle.SITUACAO_AUTORIZADA))
             {
                 lblCartao.Text      = "NFC-e AUTORIZADA.";
                 lblCartao.ForeColor = Color.Green;
                 btnImprimir.Enabled = true;
                 btnImprimir.Focus();
             }
             else if (nfeControle.SituacaoNfe.Equals(NfeControle.SITUACAO_REJEITADA))
             {
                 lblCartao.Text      = "NFC-e rejeitada. " + nfeControle.MensagemSitucaoProtocoloUso;
                 lblCartao.ForeColor = Color.Red;
                 btnImprimir.Enabled = false;
                 btnCancelar.Focus();
             }
             else if (nfeControle.SituacaoNfe.Equals(NfeControle.SITUACAO_NAO_VALIDADA))
             {
                 lblCartao.Text      = "NFC-e não validada. Alguns dos produtos do pedido precisam de atualizações no cadastro.";
                 lblCartao.ForeColor = Color.Red;
                 btnImprimir.Enabled = false;
                 btnCancelar.Focus();
             }
         }
     }
 }
示例#18
0
        private void ExibirResultadoProcessamentoNFCe()
        {
            lblCartao.Text = "Solicitando Autorização... ";
            textNfe.Text   = "Favor aguardar.";
            Cursor.Current = Cursors.WaitCursor;
            contConsultas++;
            // recupera a último envio da nfe
            List <NfeControle> listaNfe = GerenciadorNFe.GetInstance().ObterPorSaida(codSaida).OrderBy(nfe => nfe.CodNfe).ToList();

            if (tipoNfe == DocumentoFiscal.TipoSolicitacao.NFE)
            {
                listaNfe = listaNfe.Where(nfe => nfe.Modelo.Equals(NfeControle.MODELO_NFE)).OrderBy(nfe => nfe.CodNfe).ToList();
            }
            else
            {
                listaNfe = listaNfe.Where(nfe => nfe.Modelo.Equals(NfeControle.MODELO_NFCE)).OrderBy(nfe => nfe.CodNfe).ToList();
            }

            //if (listaNfe.Count == 0)
            //{
            //    listaNfe = GerenciadorNFe.GetInstance().ObterPorSaida(codSaida).OrderBy(nfe => nfe.CodNfe).ToList();
            //}
            //else
            //{
            //    novaSolicitacao = true;
            //}
            nfeControle = listaNfe.LastOrDefault();


            if (nfeControle != null && !nfeControle.SituacaoNfe.Equals(NfeControle.SITUACAO_SOLICITADA))
            {
                Cursor.Current = Cursors.WaitCursor;
                bool modeloSolicitado = (nfeControle.Modelo.Equals(NfeControle.MODELO_NFE) && (tipoNfe == DocumentoFiscal.TipoSolicitacao.NFE)) ||
                                        (nfeControle.Modelo.Equals(NfeControle.MODELO_NFCE) && (tipoNfe == DocumentoFiscal.TipoSolicitacao.NFCE));
                if (nfeControle.SituacaoNfe.Equals(NfeControle.SITUACAO_AUTORIZADA) && modeloSolicitado)
                {
                    if (nfeControle.Modelo.Equals(NfeControle.MODELO_NFCE))
                    {
                        lblNffe.Text = "NFe CONSUMIDOR AUTORIZADA.";
                    }
                    else
                    {
                        lblNffe.Text = "NFe AUTORIZADA.";
                    }
                    lblNffe.ForeColor = Color.Green;
                    Cursor.Current    = Cursors.Default;
                    //this.Close();
                }
                if (nfeControle.SituacaoNfe.Equals(NfeControle.SITUACAO_CONTINGENCIA_OFFLINE) && modeloSolicitado)
                {
                    if (nfeControle.Modelo.Equals(NfeControle.MODELO_NFCE))
                    {
                        lblNffe.Text = "NFe CONSUMIDOR OFF-LINE";
                    }
                    else
                    {
                        lblNffe.Text = "NFe OFF-LINE";
                    }
                    lblNffe.ForeColor = Color.Blue;
                    Cursor.Current    = Cursors.Default;
                    //this.Close();
                }
                else if (nfeControle.SituacaoNfe.Equals(NfeControle.SITUACAO_REJEITADA))
                {
                    lblNffe.Text      = "NF REJEITADA";
                    textNfe.Text      = nfeControle.MensagemSitucaoProtocoloUso;
                    lblNffe.ForeColor = Color.Red;
                    Cursor.Current    = Cursors.Default;
                    btnCancelar.Focus();
                }
                else if (nfeControle.SituacaoNfe.Equals(NfeControle.SITUACAO_NAO_VALIDADA))
                {
                    lblNffe.Text = "NF NÃO VALIDADA.";
                    //textNfe.Text = "Favor verificar {0} (1) NCM ausentes nos produtos {0} (2) CNPJ/CPF ou IE do cliente incorretos. {0}";
                    lblNffe.ForeColor = Color.Red;
                    Cursor.Current    = Cursors.Default;
                    Loja loja = GerenciadorLoja.GetInstance().Obter(nfeControle.CodLoja).ElementAtOrDefault(0);
                    if (loja != null)
                    {
                        DirectoryInfo Dir        = new DirectoryInfo(loja.PastaNfeErro);
                        string        numeroLote = "";
                        if (Dir.Exists)
                        {
                            string     arquivoRetornoLote = nfeControle.Chave + "-nfe.err";
                            FileInfo[] files = Dir.GetFiles(arquivoRetornoLote, SearchOption.TopDirectoryOnly);
                            if (files.Length > 0)
                            {
                                StreamReader reader = new StreamReader(files[0].FullName);
                                textNfe.Text = reader.ReadToEnd();
                            }
                        }
                    }
                }

                btnCancelar.Enabled = true;
                if (nfeControle.SituacaoNfe.Equals(NfeControle.SITUACAO_AUTORIZADA) && modeloSolicitado)
                {
                    timerAtualizaNFCe.Enabled = false;

                    btnImprimir.Enabled = true;
                    btnImprimir.Focus();
                }
                else if (nfeControle.SituacaoNfe.Equals(NfeControle.SITUACAO_CONTINGENCIA_OFFLINE) && modeloSolicitado)
                {
                    timerAtualizaNFCe.Enabled = false;

                    btnImprimir.Enabled = true;
                    btnImprimir.Focus();
                }
                else if (!nfeControle.SituacaoNfe.Equals(NfeControle.SITUACAO_SOLICITADA) && (contConsultas > 5))
                {
                    timerAtualizaNFCe.Enabled = false;
                    btnCancelar.Focus();
                }
                else
                {
                    btnCancelar.Focus();
                }
            }
        }
示例#19
0
        private void btnEnviar_Click(object sender, EventArgs e)
        {
            // o evento foi disparo do butão que emite Nf-
            bool ehNfeComplementar = (sender is Button) && ((Button)sender).Name.Equals("btnComplementar");

            if (Saida.TipoSaida.Equals(Saida.TIPO_DEVOLUCAO_FORNECEDOR) || Saida.TipoSaida.Equals(Saida.TIPO_REMESSA_CONSERTO) || Saida.TipoSaida.Equals(Saida.TIPO_DEVOLUCAO_CONSUMIDOR))
            {
                if (MessageBox.Show("Deseja gerar espelho da NF-e para Validação?", "Criar Espelho da NF-e", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    // Atualiza os dados da saída
                    Saida.Observacao = observacaoTextBox.Text;
                    if (Saida.CupomFiscal.Trim().Equals(""))
                    {
                        GerenciadorSaida.GetInstance(null).AtualizarNfePorCodSaida(Saida.Nfe, Saida.Observacao, Saida.CodSaida);
                    }
                    List <SaidaPedido> listaSaidaPedido = new List <SaidaPedido>()
                    {
                        new SaidaPedido()
                        {
                            CodSaida = Saida.CodSaida, TotalAVista = Saida.TotalAVista
                        }
                    };
                    List <SaidaPagamento> listaSaidaPagamento = GerenciadorSaidaPagamento.GetInstance(null).ObterPorSaida(Saida.CodSaida);
                    GerenciadorSolicitacaoDocumento.GetInstance().InserirSolicitacaoDocumento(listaSaidaPedido, listaSaidaPagamento, DocumentoFiscal.TipoSolicitacao.NFE, ehNfeComplementar, true);
                }
            }

            if (MessageBox.Show("Confirma envio da NF-e?", "Enviar NF-e", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                Cursor.Current = Cursors.WaitCursor;
                // Atualiza os dados da saída
                Saida.Observacao = observacaoTextBox.Text;
                if (Saida.CupomFiscal.Trim().Equals(""))
                {
                    GerenciadorSaida.GetInstance(null).AtualizarNfePorCodSaida(Saida.Nfe, Saida.Observacao, Saida.CodSaida);
                }
                else
                {
                    GerenciadorSaida.GetInstance(null).AtualizarPorPedido(Saida.Nfe, Saida.Observacao, Cliente.CodPessoa, Saida.CupomFiscal);
                }

                NfeControle nfe = (NfeControle)nfeControleBindingSource.Current;
                if (nfe != null)
                {
                    GerenciadorNFe.GetInstance().Atualizar(nfe);
                }

                // envia nota fiscal
                Saida saida = GerenciadorSaida.GetInstance(null).Obter(Saida.CodSaida);
                List <SaidaPedido> listaSaidaPedido = new List <SaidaPedido>()
                {
                    new SaidaPedido()
                    {
                        CodSaida = Saida.CodSaida, TotalAVista = Saida.TotalAVista
                    }
                };
                List <SaidaPagamento>           listaSaidaPagamento = GerenciadorSaidaPagamento.GetInstance(null).ObterPorSaida(Saida.CodSaida);
                DocumentoFiscal.TipoSolicitacao tipoSolicitacao;
                if (Saida.CupomFiscal.Trim().Equals("") && Saida.TipoSaida.Equals(Saida.TIPO_PRE_VENDA_NFCE))
                {
                    tipoSolicitacao = DocumentoFiscal.TipoSolicitacao.NFCE;
                }
                else
                {
                    tipoSolicitacao = DocumentoFiscal.TipoSolicitacao.NFE;
                }

                GerenciadorSolicitacaoDocumento.GetInstance().InserirSolicitacaoDocumento(listaSaidaPedido, listaSaidaPagamento, tipoSolicitacao, ehNfeComplementar, false);
                Cursor.Current = Cursors.Default;
            }
        }
示例#20
0
        private void btnEnviar_Click(object sender, EventArgs e)
        {
            // o evento foi disparo do butão que emite Nf-
            bool ehNfeComplementar = (sender is Button) && ((Button)sender).Name.Equals("btnComplementar");

            if (Saida.TipoSaida.Equals(Saida.TIPO_DEVOLUCAO_FORNECEDOR) || Saida.TipoSaida.Equals(Saida.TIPO_REMESSA_CONSERTO))
            {
                if (MessageBox.Show("Deseja gerar espelho da NF-e para Validação?", "Criar Espelho da NF-e", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    // Atualiza os dados da saída
                    Saida.Observacao = observacaoTextBox.Text.Trim();
                    if (Saida.CupomFiscal.Trim().Equals(""))
                    {
                        GerenciadorSaida.GetInstance(null).AtualizarNfePorCodSaida(Saida.Nfe, Saida.Observacao, Saida.CodSaida);
                    }
                    //List<SaidaPedido> listaSaidaPedido = new List<SaidaPedido>() { new SaidaPedido() { CodSaida = Saida.CodSaida, TotalAVista = Saida.TotalAVista } };
                    //List<SaidaPagamento> listaSaidaPagamento = GerenciadorSaidaPagamento.GetInstance(null).ObterPorSaida(Saida.CodSaida);
                    GerenciadorSolicitacaoDocumento.GetInstance().InserirSolicitacaoDocumento(listaSaidaPedido, listaSaidaPagamento, DocumentoFiscal.TipoSolicitacao.NFE, ehNfeComplementar, true);
                }
            }

            if (MessageBox.Show("Confirma envio da NF-e?", "Enviar NF-e", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                Cursor.Current = Cursors.WaitCursor;
                // Atualiza os dados da saída
                if ((Cliente == null) || Cliente.CodPessoa.Equals(Global.CLIENTE_PADRAO))
                {
                    throw new TelaException("Para emissão de uma NF-e deve-se selecionar um Cliente.");
                }
                if (Cliente.CodPessoa != Saida.CodCliente)
                {
                    Saida.CodCliente = Cliente.CodPessoa;
                    GerenciadorSaida.GetInstance(null).Atualizar(Saida);
                }
                Saida.Observacao = observacaoTextBox.Text;
                if (Saida.CupomFiscal.Trim().Equals(""))
                {
                    foreach (SaidaPedido saidaPedido in listaSaidaPedido)
                    {
                        GerenciadorSaida.GetInstance(null).AtualizarNfePorCodSaida(Saida.Nfe, Saida.Observacao, saidaPedido.CodSaida);
                    }
                }
                else
                {
                    GerenciadorSaida.GetInstance(null).AtualizarPorPedido(Saida.Nfe, Saida.Observacao, Cliente.CodPessoa, Saida.CupomFiscal);
                }
                NfeControle nfe = (NfeControle)nfeControleBindingSource.Current;
                if (nfe != null)
                {
                    GerenciadorNFe.GetInstance().Atualizar(nfe);
                }

                // envia nota fiscal
                //List<SaidaPedido> listaSaidaPedido = new List<SaidaPedido>();
                //Saida saida = GerenciadorSaida.GetInstance(null).Obter(Saida.CodSaida);
                List <SaidaPesquisa> listaSaidas            = GerenciadorSaida.GetInstance(null).ObterPorCodSaidas(listaSaidaPedido.Select(s => s.CodSaida).ToList());
                List <string>        listaDocumentosFiscais = listaSaidas.Select(s => s.CupomFiscal).Distinct().ToList();
                if (listaSaidas.Where(s => !string.IsNullOrEmpty(s.CupomFiscal)).Count() > 0)
                {
                    listaSaidas = listaSaidas.Where(s => string.IsNullOrEmpty(s.CupomFiscal)).ToList();
                    foreach (string docFiscal in listaDocumentosFiscais)
                    {
                        if (!string.IsNullOrEmpty(docFiscal))
                        {
                            listaSaidas.AddRange(GerenciadorSaida.GetInstance(null).ObterPorCupomFiscal(Saida.CupomFiscal));
                        }
                    }


                    listaSaidaPedido = new List <SaidaPedido>();
                    foreach (SaidaPesquisa s in listaSaidas)
                    {
                        listaSaidaPedido.Add(new SaidaPedido()
                        {
                            CodSaida = s.CodSaida, TotalAVista = s.TotalAVista
                        });
                    }
                    List <Conta> listaContas = GerenciadorConta.GetInstance(null).ObterPorNfe(Saida.CupomFiscal).ToList();

                    decimal        valorTotalPagamento = listaContas.Sum(c => c.Valor) - listaContas.Sum(c => c.Desconto);
                    SaidaPagamento saidaPagamento      = new SaidaPagamento();
                    FormaPagamento dinheiro            = GerenciadorFormaPagamento.GetInstance().Obter(FormaPagamento.DINHEIRO).ElementAt(0);
                    saidaPagamento.CodFormaPagamento        = FormaPagamento.DINHEIRO;
                    saidaPagamento.CodCartaoCredito         = Global.CARTAO_LOJA;
                    saidaPagamento.MapeamentoFormaPagamento = dinheiro.Mapeamento;
                    saidaPagamento.DescricaoFormaPagamento  = dinheiro.Descricao;
                    saidaPagamento.Valor = valorTotalPagamento;
                    listaSaidaPagamento.Add(saidaPagamento);
                }

                Cursor.Current = Cursors.Default;

                long codSolicitacao = GerenciadorSolicitacaoDocumento.GetInstance().InserirSolicitacaoDocumento(listaSaidaPedido, listaSaidaPagamento, DocumentoFiscal.TipoSolicitacao.NFE, ehNfeComplementar, false);
                FrmSaidaAutorizacao frmSaidaAutorizacao = new FrmSaidaAutorizacao(Saida.CodSaida, Saida.CodCliente, DocumentoFiscal.TipoSolicitacao.NFE);
                frmSaidaAutorizacao.ShowDialog();
                frmSaidaAutorizacao.Dispose();
            }
        }
示例#21
0
        private void btnImprimir_Click(object sender, EventArgs e)
        {
            NfeControle nfeControle = (NfeControle)nfeControleBindingSource.Current;

            GerenciadorNFe.GetInstance().imprimirDANFE(nfeControle);
        }