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); }
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); } }
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); } }
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); } }
public FrmSaidaAutorizacao(long codSaida, long codCliente, DocumentoFiscal.TipoSolicitacao tipo) { InitializeComponent(); this.codSaida = codSaida; nfeControle = null; lblCartao.ForeColor = Color.Black; tipoNfe = tipo; if (codCliente != Util.Global.CLIENTE_PADRAO) { Pessoa cliente = GerenciadorPessoa.GetInstance().Obter(codCliente).FirstOrDefault(); if ((cliente != null) && (cliente.ImprimirCF)) { tipoNfe = DocumentoFiscal.TipoSolicitacao.NFE; } } contConsultas = 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(); } } } }
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(); } } }
private void btnImprimir_Click(object sender, EventArgs e) { NfeControle nfeControle = (NfeControle)nfeControleBindingSource.Current; GerenciadorNFe.GetInstance().imprimirDANFE(nfeControle); }
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; } }
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(); } }