/// <summary> /// 添加异常日志 /// </summary> /// <param name="ex">异常对象</param> /// <param name="paramObj">参数</param> /// <param name="controlOrClass">控制器或类名</param> /// <param name="actionName">方法名</param> /// <param name="currUser">当前用户</param> public static void AddExceptionLog(Exception ex, string paramObj, string controlOrClass = null, string actionName = null, UserInfo currUser = null) { if (ex == null) { return; } try { //构造对象 Log_Exception exceptionLog = new Log_Exception(); exceptionLog.ExceptionName = ex.GetType().Name; exceptionLog.ExceptionSource = ex.Source; exceptionLog.ExceptionMsg = ex.Message; exceptionLog.StackTrace = ex.StackTrace; exceptionLog.ExceptionTime = DateTime.Now; exceptionLog.ControllerName = controlOrClass; exceptionLog.ActionName = actionName; exceptionLog.CreateUserId = currUser != null ? currUser.UserId : (Guid?)null; exceptionLog.CreateUserName = UserInfo.GetUserAliasName(currUser); exceptionLog.CreateDate = DateTime.Now; exceptionLog.ModifyDate = DateTime.Now; exceptionLog.ModifyUserId = currUser != null ? currUser.UserId : (Guid?)null; exceptionLog.ModifyUserName = UserInfo.GetUserAliasName(currUser); exceptionLog.Id = Guid.NewGuid(); //保存 string errMsg = string.Empty; CommonOperate.OperateRecord <Log_Exception>(exceptionLog, OperateHandle.ModelRecordOperateType.Add, out errMsg, null, false); } catch { } }
private void cmdViewNotas_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; try { lstMovdia.Items.Clear(); Lista_Pedidos(); if (lstPedido.Count == 0) { MessageBox.Show("Não há notas a serem emitidas.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } lblSelecionados.Text = "(Selecionados: " + lstMovdia.Items.Count + ")"; InicializaButtons(); this.Cursor = Cursors.Default; } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Erro ao buscar pedidos: " + ex.Message, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); this.Cursor = Cursors.Default; return; } }
//------------------------------------------------------------------------------ public string XML_NFCe(XmlDocument xmlAssinado, string nfiscal, X509Certificate2 _X509Cert) { try { GerarXML geraxml = new GerarXML(); //Gerando o xml de Lote xmlLote = geraxml.Lote(xmlAssinado, nfiscal); xmlDados = xmlLote.DocumentElement; ServicePoint(); if (GerarXML.str_Ambiente == "1") { //NFCeRecepcaoP - PRODUCAO / NFCeRecepcaoH - HOMOLOGACAO NFCeAutorizacaoP.NfeAutorizacao WsHRecepcao = new NFCeAutorizacaoP.NfeAutorizacao(); WsHRecepcao.ClientCertificates.Add(_X509Cert); WsHRecepcao.Timeout = Convert.ToInt32(240000); WsHRecepcao.InitializeLifetimeService(); NFCeAutorizacaoP.nfeCabecMsg cabec = new NFCeAutorizacaoP.nfeCabecMsg(); cabec.cUF = "33"; cabec.versaoDados = "3.10"; WsHRecepcao.nfeCabecMsgValue = cabec; TextoXML = WsHRecepcao.nfeAutorizacaoLote(xmlDados).OuterXml; WsHRecepcao.Dispose(); } else { //NFeRecepcaoP - PRODUCAO / NFeRecepcaoH - HOMOLOGACAO NFCeAutorizacaoH.NfeAutorizacao WsHRecepcao = new NFCeAutorizacaoH.NfeAutorizacao(); WsHRecepcao.ClientCertificates.Add(_X509Cert); WsHRecepcao.Timeout = Convert.ToInt32(240000); WsHRecepcao.InitializeLifetimeService(); NFCeAutorizacaoH.nfeCabecMsg cabec = new NFCeAutorizacaoH.nfeCabecMsg(); cabec.cUF = "33"; cabec.versaoDados = "3.10"; WsHRecepcao.nfeCabecMsgValue = cabec; TextoXML = WsHRecepcao.nfeAutorizacaoLote(xmlDados).OuterXml; WsHRecepcao.Dispose(); } return(TextoXML); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); return("Erro de conexão na recepção...! " + ex.Message); } }
private void cmdLocalizar_Click(object sender, EventArgs e) { try { txtResultado.Text = string.Empty; this.Cursor = Cursors.WaitCursor; p = (new PedidoDao()).getPedido(txtNFInicial.Text); if (p == null) { MessageBox.Show("Esse pedido não foi encontrado dentro do sistema, verifique por favor ou informe ao administrador do sistema.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); LimpaCampos(); this.Cursor = Cursors.Default; return; } if (!string.IsNullOrEmpty(p.chave) || !string.IsNullOrEmpty(p.protocolo)) { MessageBox.Show("Essa Nota Fiscal já foi emitida, verifique por favor.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); LimpaCampos(); this.Cursor = Cursors.Default; return; } p.lstPedidoItem = (new PedidoItemDao()).getlst_Itens(p.numdoc); p.operacao = (new OperacaoDao()).getOperacaoPedido(p.numdoc); p.cliente = (new ClienteDao()).getClientePedido(p.numdoc); p.cliente.end = (new EnderecoDao()).getEnderecoCliente(p.numdoc); p.xml = new XML(); lblNFiscal.Text = p.nfiscal.ToString(); lblDatDoc.Text = p.datadigitacao.ToString().Substring(0, 10); lblCodNat.Text = p.operacao.codoperacao.ToString(); lblValDoc.Text = p.valdoc.ToString("######0.00"); lblRazaoSocial.Text = string.IsNullOrEmpty(p.cliente.firma) ? "" : p.cliente.firma; lblEndereco.Text = string.IsNullOrEmpty(p.cliente.end.logradouro) ? "" : p.cliente.end.logradouro + " " + p.cliente.end.complemento; lblCidade.Text = string.IsNullOrEmpty(p.cliente.end.municipio) ? "" : p.cliente.end.municipio; lblUF.Text = string.IsNullOrEmpty(p.cliente.end.uf) ? "" : p.cliente.end.uf; this.Cursor = Cursors.Default; } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); txtResultado.AppendText("Ocorreu um erro inesperado. Informe ao administrador do sistema!" + Environment.NewLine + ex.Message); txtResultado.ForeColor = Color.Maroon; this.Cursor = Cursors.Default; return; } }
//------------------------------------------------------------------------------ public string XML_InutilizacaoNFCe4(XmlDocument xmlAssinado, X509Certificate2 _X509Cert) { try { //Transmitindo em ambiente de homologação xmlDados = xmlAssinado.DocumentElement; ServicePoint(); if (GerarXML.str_Ambiente == "1") { //NFCeRecepcaoP - PRODUCAO / NFCeRecepcaoH - HOMOLOGACAO NFCeInutilizacao4P.NFeInutilizacao4 WsHInutilizacao = new NFCeInutilizacao4P.NFeInutilizacao4(); WsHInutilizacao.ClientCertificates.Add(_X509Cert); WsHInutilizacao.Timeout = Convert.ToInt32(240000); WsHInutilizacao.InitializeLifetimeService(); //NFCeInutilizacao2P.nfeCabecMsg cabec = new NFCeInutilizacao2P.nfeCabecMsg(); //cabec.cUF = "33"; //cabec.versaoDados = "3.10"; //WsHInutilizacao.nfeCabecMsgValue = cabec; TextoXML = WsHInutilizacao.nfeInutilizacaoNF(xmlDados).OuterXml; WsHInutilizacao.Dispose(); } else { //NFCeRecepcaoP - PRODUCAO / NFCeRecepcaoH - HOMOLOGACAO NFCeInutilizacao2H.NfeInutilizacao2 WsHInutilizacao = new NFCeInutilizacao2H.NfeInutilizacao2(); WsHInutilizacao.ClientCertificates.Add(_X509Cert); WsHInutilizacao.Timeout = Convert.ToInt32(240000); WsHInutilizacao.InitializeLifetimeService(); NFCeInutilizacao2H.nfeCabecMsg cabec = new NFCeInutilizacao2H.nfeCabecMsg(); cabec.cUF = "33"; cabec.versaoDados = "3.10"; WsHInutilizacao.nfeCabecMsgValue = cabec; TextoXML = WsHInutilizacao.nfeInutilizacaoNF2(xmlDados).OuterXml; WsHInutilizacao.Dispose(); } return(TextoXML); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); return("Erro de conexão na recepção...! " + ex.Message); } }
private void btnFinalizar_Click(object sender, EventArgs e) { try { Finaliza_Venda(); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Ocorreu um erro inesperado, tente novamente... Erro : " + ex.Message, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void button1_Click(object sender, EventArgs e) { try { AtualizaTotal_ItenseVenda(Convert.ToInt32(lstItens.SelectedItems[0].SubItems[2].Text) * -1, Convert.ToDecimal(lstItens.SelectedItems[0].SubItems[5].Text) * -1); lstpedidoItem.RemoveAll(delegate(PedidoItem p) { return(p.codpro == Convert.ToInt32(lstItens.SelectedItems[0].SubItems[0].Text)); }); lstItens.SelectedItems[0].Remove(); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Ocorreu um erro inesperado, tente novamente... Erro : " + ex.Message, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
/// <summary> /// Salva o arquivo de XML na tabela designada. /// <para>Valores para o parametro 'tipoNFe'</para> /// <para>"NFe" - Nota Fiscal Eletronica.</para> /// <para>"Canc" - Nota de Cancelamento.</para> /// <para>"CCe" - Nota de Carta de Correção.</para> /// <para>"Inut" - Nota de Inutilização.</para> /// </summary> public bool Grava_XML(XML xml) { try { if ((new PetaPoco.Database("stringConexao")).Insert("XML_NFe", "idXML", false, xml) != null) { return(false); } } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); return(false); } return(true); }
private void Unload_Form() { try { pdao = null; plojaDao = null; pedido = null; produto = null; lstpedidoItem = null; this.Close(); this.Dispose(); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Ocorreu um erro inesperado, tente novamente... Erro : " + ex.Message, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void Lista_Produto(Produto p, int quantidade) { try { ListViewItem ls = new ListViewItem(p.codpro.ToString()); ls.SubItems.Add(quantidade.ToString()); ls.SubItems.Add(p.prcvenda.ToString("0.00")); ls.SubItems.Add((p.prcvenda * quantidade).ToString("0.00")); ls.SubItems.Add(p.descricao); lstvwProduto.Items.Add(ls); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Ocorreu um erro inesperado! " + ex.Message, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void lstPedidos_SelectedIndexChanged(object sender, EventArgs e) { lstItens.Items.Clear(); TxtChaveNFe.Text = string.Empty; TxtNumProtocolo.Text = string.Empty; if (lstvwPedidos.FocusedItem == null) { return; } try { var item = lstvwPedidos.FocusedItem; TxtChaveNFe.Text = item.SubItems[8].Text; TxtNumProtocolo.Text = item.SubItems[9].Text; foreach (PedidoItem pditem in lstp[item.Index].lstPedidoItem) { ListViewItem ls = new ListViewItem(pditem.codpro.ToString()); ls.SubItems.Add(pditem.produto.descricao); ls.SubItems.Add(pditem.qtditens.ToString()); ls.SubItems.Add(pditem.valitens.ToString("0.00")); ls.SubItems.Add(pditem.dscitens.ToString()); ls.SubItems.Add(pditem.prcitens.ToString("0.00")); lstItens.Items.Add(ls); } } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Erro: " + ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void Lista_Produto(Produto p, decimal valDesc, int quantidade = 0, decimal total = 0) { try { ListViewItem ls = new ListViewItem(p.codpro.ToString()); if (quantidade == 0) { quantidade = Convert.ToInt32(txtQuantidade.Text); } if (total == 0) { total = Convert.ToDecimal(lblTotal.Text); } ls.SubItems.Add(p.descricao); //ls.SubItems.Add(txtQuantidade.Text); ls.SubItems.Add(quantidade.ToString()); ls.SubItems.Add(p.prcvenda.ToString("0.00")); ls.SubItems.Add(p.produto_loja.desconto.ToString()); //ls.SubItems.Add(Convert.ToDecimal(lblTotal.Text).ToString("0.00")); ls.SubItems.Add(total.ToString("0.00")); ls.SubItems.Add(total.ToString("0.00")); ls.SubItems.Add(valDesc.ToString("0.00")); lstItens.Items.Add(ls); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Ocorreu um erro inesperado! " + ex.Message, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
// ======================================================================== private bool Gera_NFCe(Pedido pedido) { var msg = new StringBuilder(); XmlDocument xmlNFe = new XmlDocument(); XmlDocument xmlNFe_Assinado = new XmlDocument(); GerarXML gerarXml = new GerarXML(); AssinarXML assinarXml = new AssinarXML(); ValidarXML validarXml = new ValidarXML(); TransmitirXML transmitirXml = new TransmitirXML(); Email email = new Email(); XMLDao xmlDao = new XMLDao(); StreamWriter Grava; string retValidar; string strProc; string strXmlProcNfe; string retTransmitir; string cStatus_LoteProcessado; string cStatus_Autorizado; int nPosI; int nPosF; try { retTransmitir = string.Empty; retValidar = string.Empty; cStatus_LoteProcessado = string.Empty; cStatus_Autorizado = string.Empty; try { // Gerando o XML xmlNFe = (gerarXml.NFe(pedido)); //MensagemSistema("Arquivo Gerado ...", Color.OliveDrab); // Assinando o XML xmlNFe_Assinado = assinarXml.AssinaXML(xmlNFe.InnerXml, "infNFe", Certificado.getInstance.oCertificado); } catch (Exception ex) { MessageBox.Show("** Erro ao ASSINAR XML NFC-e, tente novamente **" + Environment.NewLine + ex.Message, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } try { // Validando o XML retValidar = validarXml.Valida(xmlNFe_Assinado, "NFe"); //Inserindo a URL QRCode no xml já assinado xmlNFe_Assinado.LoadXml(xmlNFe_Assinado.InnerXml.Replace("</infNFe>", "</infNFe><infNFeSupl><qrCode><![CDATA[" + gerarXml.Gera_Url_QRCode(xmlNFe_Assinado, pedido) + "]]></qrCode><urlChave>http://www4.fazenda.rj.gov.br/consultaNFCe/QRCode</urlChave></infNFeSupl>")); } catch (Exception ex) { //Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("** Erro ao VALIDAR XML NFC-e **" + Environment.NewLine + ex.Message, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } if (retValidar == string.Empty) { try { //MensagemSistema("Enviando a NFC-e", Color.OliveDrab); // Recebendo o XML de retorno da transmissão retTransmitir = transmitirXml.XML_NFCe4(xmlNFe_Assinado, pedido.nfiscal, Certificado.getInstance.oCertificado); if (retTransmitir.Substring(0, 4) != "Erro") { XmlDocument xmlRetorno = new XmlDocument(); xmlRetorno.LoadXml(retTransmitir); // Lote processado if (xmlRetorno.GetElementsByTagName("cStat")[0].InnerText == "104") { // Autorizado if (xmlRetorno.GetElementsByTagName("cStat")[1].InnerText == "100") { try { //MensagemSistema("Autorizado o uso da NFC-e", Color.OliveDrab); pedido.chave = xmlRetorno.GetElementsByTagName("chNFe")[0].InnerText; pedido.protocolo = xmlRetorno.GetElementsByTagName("nProt")[0].InnerText; // Separar somente o conteúdo a partir da tag <protNFe> até </protNFe> nPosI = retTransmitir.IndexOf("<protNFe"); nPosF = retTransmitir.Length - (nPosI + 13); strProc = retTransmitir.Substring(nPosI, nPosF); // XML pronto para salvar strXmlProcNfe = @"<?xml version=""1.0"" encoding=""utf-8"" ?><nfeProc xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""4.0"">" + xmlNFe_Assinado.InnerXml + strProc + "</nfeProc>"; pedido.xml = new XML { numdoc = pedido.numdoc, arquivoXML = strXmlProcNfe, data = DateTime.Now, Modelo = pedido.modelo, statNFCe = "100" }; //Salva arquivo XML no Banco SQL (NFe) if (xmlDao.Grava_XML(pedido.xml)) { // Atualizando o pedido com a Chave, Protocolo, e statNFCe if ((new PedidoDao()).Update_ChaveProtocolo_condDoc_StatNFCe(pedido.numdoc, pedido.chave, pedido.protocolo, pedido.xml.statNFCe)) { if (GerarXML.str_Ambiente == "1") { if (!string.IsNullOrEmpty(Controle.getInstance.caminho_XMLAutorizado)) { //Salvando o arquivo XML na pasta Grava = File.CreateText(Controle.getInstance.caminho_XMLAutorizado.Remove(Controle.getInstance.caminho_XMLAutorizado.Length - 1) + DateTime.Now.Month + @"\" + pedido.chave + "-procNfe.xml"); Grava.Write(pedido.xml.arquivoXML); Grava.Close(); } } } } } catch (Exception ex) { MessageBox.Show("** NOTA EMITIDA **, mas houve um erro inesperado" + Environment.NewLine + ex.Message, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } } else { //MessageBox.Show("Erro ao Transmitir(004) XML NFC-e" + Environment.NewLine + xmlRetorno.GetElementsByTagName("xMotivo")[1].InnerText, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error); msg.Append("** NOTA EMITIDA **, mas houve um erro inesperado"); msg.Append(Environment.NewLine); msg.Append(xmlRetorno.GetElementsByTagName("xMotivo")[1].InnerText); txtErro.Visible = true; btnEmitir.Visible = true; txtErro.Text = msg.ToString(); msg.Clear(); return(false); } } else { //MessageBox.Show("Erro ao Transmitir(003) XML NFC-e" + Environment.NewLine + xmlRetorno.GetElementsByTagName("xMotivo")[0].InnerText, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error); msg.Append("** Erro ao Transmitir(003) XML NFC-e**"); msg.Append(Environment.NewLine); msg.Append(xmlRetorno.GetElementsByTagName("xMotivo")[0].InnerText); txtErro.Visible = true; btnEmitir.Visible = true; txtErro.Text = msg.ToString(); msg.Clear(); return(false); } } else { //MessageBox.Show("Erro ao Transmitir(002) XML NFC-e" + Environment.NewLine + retTransmitir, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error); msg.Append("** Erro ao Transmitir(002) XML NFC-e **"); msg.Append(Environment.NewLine); msg.Append(retTransmitir); txtErro.Visible = true; btnEmitir.Visible = true; txtErro.Text = msg.ToString(); msg.Clear(); return(false); } } catch (Exception ex) { MessageBox.Show("Erro ao Transmitir(001) XML NFC-e" + Environment.NewLine + ex.Message, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } } else { MessageBox.Show("Erro ao validar XML NFC-e" + Environment.NewLine + retValidar, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Ocorreu um erro inesperado, informe ao administrador do sistema!" + Environment.NewLine + ex.Message, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } return(true); }
private void cmdLocalizar_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; lstvwPedidos.Items.Clear(); lstItens.Items.Clear(); lstp.Clear(); lblAutorizado.Text = "000"; lblCancelado.Text = "000"; if (cboProcurar.SelectedIndex != 0 & txtProcurar.Text == string.Empty) { MessageBox.Show("Digite o (" + cboProcurar.Text + ") por favor.", "Mensagem - Busca", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Cursor = Cursors.Default; return; } if (cboProcurar.SelectedIndex == 0 & (dtInicial.Checked == false || dtFinal.Checked == false)) { MessageBox.Show("Entre com a (" + cboProcurar.Text + ") por favor.", "Mensagem - Busca", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Cursor = Cursors.Default; return; } string strWhere = string.Empty; try { switch (cboProcurar.Text) { case "Data da Nota Fiscal": if (cboFormaPagamento.Text != "Todos") { strWhere = "TipoPgto = " + cboFormaPagamento.SelectedValue; } if (cboStatus.Text != "Todos") { if (strWhere != string.Empty) { strWhere += " And StatNFCe = " + strStatNFCe; } else { strWhere += "StatNFCe = " + strStatNFCe; } } lstp = pd.getlstPedidos(cboLoja.Text, Convert.ToInt32(cboUsuario.SelectedValue), string.Format("{0:yyyy-MM-dd 00:00:00}", dtInicial.Value), string.Format("{0:yyyy-MM-dd 23:59:59}", dtFinal.Value), strWhere); break; case "N° da Nota Fiscal": lstp.Add(pd.getPedido(txtProcurar.Text)); break; case "N° do Pedido": lstp.Add(pd.getPedido(Convert.ToInt32(txtProcurar.Text))); break; } if (lstp.Count == 0) { MessageBox.Show("Pedido(s) não encontrado(s)!", "Mensagem - Busca", MessageBoxButtons.OK, MessageBoxIcon.Information); lstp.Clear(); lstItens.Items.Clear(); cmdExportaXML.Enabled = false; TxtChaveNFe.Text = string.Empty; TxtNumProtocolo.Text = string.Empty; this.Cursor = Cursors.Default; return; } if (lstp[0] == null) { MessageBox.Show("Pedido(s) não encontrado(s)!", "Mensagem - Busca", MessageBoxButtons.OK, MessageBoxIcon.Information); lstp.Clear(); lstItens.Items.Clear(); cmdExportaXML.Enabled = false; TxtChaveNFe.Text = string.Empty; TxtNumProtocolo.Text = string.Empty; this.Cursor = Cursors.Default; return; } Lista_Pedidos(); cmdExportaXML.Enabled = true; } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Ocorreu um erro inesperado: " + ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } this.Cursor = Cursors.Default; }
private void Valida_UsuarioeSenha() { if (txtLogin.Text.Trim().Length == 0) { MessageBox.Show("Entre com o nome do usuário.", "Erro - Login", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (txtSenha.Text.Trim().Length == 0) { MessageBox.Show("Entre com a senha do usuário.", "Erro - Senha", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } try { if (!(new UsuarioDao()).SelecionaUsuario(txtLogin.Text, txtSenha.Text, cboLoja.Text)) { MessageBox.Show("Nome de usuário ou senha incorretos.", "Erro Login", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } catch (Exception ex) { MessageBox.Show("Erro inesperado ao se comunicar com o banco de dados." + Environment.NewLine + "Erro: " + ex.Message, "Erro de Conexão", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { // Selecionando o certificado Certificado.getInstance.Seleciona_Certificado(); // Iniciando o certificado if (Certificado.getInstance.oCertificado == null) { MessageBox.Show("Certificado não encontrado." + Environment.NewLine + "Tente novamente...", "Certificado - Erro", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if ((Certificado.getInstance.dValidadeFinal - DateTime.Now).Days <= 7) { if ((Certificado.getInstance.dValidadeFinal - DateTime.Now).Days <= 0) { MessageBox.Show("CERTIFICADO EXPIRADO!" + Environment.NewLine + "Informe imediatamente ao gerente do Setor.", "Certificado - Validade", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); //return; } //MessageBox.Show("Atenção, faltam " + (Certificado.getInstance.dValidadeFinal - DateTime.Now).Days + " dias para o certificado expirar!", "Atenção - Validade", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } LogonSuccessful = true; this.Close(); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Erro ao selecionar CERTIFICADO DIGITAL no computador, verifique por favor!" + Environment.NewLine + "Retorno do erro: " + ex.Message, "Login - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); LogonSuccessful = false; return; } }
private void cmdInutilizar_Click(object sender, EventArgs e) { Cursor = Cursors.WaitCursor; string retValidar = string.Empty; string retTransmitir = string.Empty; txtResultado.Text = string.Empty; GerarXML geraxml = new GerarXML(); TransmitirXML transmitir = new TransmitirXML(); ValidarXML validarXml = new ValidarXML(); AssinarXML assinar = new AssinarXML(); StreamWriter Grava; try { //Gerando xml xmlInut = geraxml.InutilizacaoNFe(Convert.ToInt32(txtNFInicial.Text), Convert.ToInt32(txtNFInicial.Text), p.serienfiscal, "Erro interno do sistema", p.modelo); //Assinando xml xmlInut_Assinado = assinar.AssinaXML(xmlInut.InnerXml, "infInut", Certificado.getInstance.oCertificado); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); txtResultado.AppendText("Erro ao assinar XML: " + ex.Message + Environment.NewLine); txtResultado.ForeColor = Color.Maroon; this.Cursor = Cursors.Default; return; } try { // Validando o XML retValidar = validarXml.Valida(xmlInut_Assinado, "Inut"); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); txtResultado.AppendText("Erro ao validar XML: " + ex.Message + Environment.NewLine); txtResultado.ForeColor = Color.Maroon; this.Cursor = Cursors.Default; return; } if (retValidar == string.Empty) { try { //Recebendo xml de retorno da transmissão retTransmitir = transmitir.XML_InutilizacaoNFCe4(xmlInut_Assinado, Certificado.getInstance.oCertificado); if (retTransmitir.Substring(0, 4) != "Erro") { XmlDocument retxml = new XmlDocument(); retxml.LoadXml(retTransmitir); //Lote Processado if (retxml.GetElementsByTagName("cStat")[0].InnerText == "102") { try { XMLDao xmlDao = new XMLDao(); p.xml.numdoc = p.numdoc; p.xml.data = DateTime.Now; p.xml.arquivoXML = retxml.InnerXml; p.xml.Modelo = p.modelo; p.xml.statNFCe = "102"; if (!string.IsNullOrEmpty(Controle.getInstance.caminho_XMLInutilizado)) { //Salvando o arquivo XML na pasta selecionada no FORM Parametros > aba Arquivos Grava = File.CreateText(Controle.getInstance.caminho_XMLInutilizado + @"\NOTA " + p.nfiscal + " - INUTILIZADA.xml"); Grava.Write(p.xml.arquivoXML); Grava.Close(); } //Atualizando o status do pedido para inutilizada (new PedidoDao()).Update_StatNFCe_CondDoc(p.numdoc, "102"); using (var db = new Database("stringConexao")) { try { db.BeginTransaction(); foreach (PedidoItem pItem in p.lstPedidoItem) { db.Update("UPDATE produto " + "SET Estoque = Estoque + " + pItem.qtditens * 1 + ",ValorVnd = ValorVnd + " + (pItem.valitens * -1).ToString().Replace(",", ".") + " WHERE CodPro = " + pItem.codpro); } //Boleta cancelada db.Update("UPDATE Boleta set condicao = 2 where numdoc = " + p.numdoc); db.CompleteTransaction(); } catch (Exception) { db.AbortTransaction(); MessageBox.Show("Houve um erro inesperado ao atualizar o estoque e cancelar as boletas, informe imediatamente ao administrador do sistema!", "Mensagem de erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } txtResultado.AppendText("Nota Fiscal inutilizada com sucesso!"); txtResultado.ForeColor = Color.Green; } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); txtResultado.AppendText("Nota Fiscal inutilizada com sucesso, porém houve um erro inesperado, informe ao administrador do sistema!"); txtResultado.ForeColor = Color.Maroon; } } else { txtResultado.AppendText("Erro ao transmitir XML (002): " + retxml.GetElementsByTagName("xMotivo")[0].InnerText + Environment.NewLine); txtResultado.ForeColor = Color.Maroon; } } else { txtResultado.AppendText("Erro ao transmitir XML (001): " + retTransmitir + Environment.NewLine); txtResultado.ForeColor = Color.Maroon; } } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); txtResultado.AppendText("Erro ao finalizar XML: " + ex.Message + Environment.NewLine); txtResultado.ForeColor = Color.Maroon; } } this.Cursor = Cursors.Default; }
private void Gerando_NFCe() { PedidoDao pdDao = new PedidoDao(); XMLDao xmlDao = new XMLDao(); StreamWriter Grava; string retValidar; string strProc; string strXmlProcNfe; int nPosI; int nPosF; string cStatus_LoteProcessado; string cStatus_Autorizado; //TxtResultado.Text = string.Empty; //txtDadosXML.Text = string.Empty; try { retTransmitir = string.Empty; retValidar = string.Empty; cStatus_LoteProcessado = string.Empty; cStatus_Autorizado = string.Empty; try { // Gerando o XML xmlNFe = (gerarXml.NFe(pedido)); MensagemSistema("Arquivo Gerado", Color.Green); txtChave.Text = gerarXml.strChave; // Assinando o XML xmlNFe_Assinado = assinarXml.AssinaXML(xmlNFe.InnerXml, "infNFe", Certificado.getInstance.oCertificado); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MensagemSistema("** Erro ao ASSINAR **" + Environment.NewLine + "Erro: " + ex.Message, Color.Maroon); return; } MensagemSistema("Arquivo Assinado", Color.Green); try { // Validando o XML retValidar = validarXml.Valida(xmlNFe_Assinado, "NFe"); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MensagemSistema("** Erro ao VALIDAR **" + Environment.NewLine + "Erro: " + ex.Message, Color.Maroon); return; } //Inserindo a URL QRCode no xml já assinado xmlNFe_Assinado.LoadXml(xmlNFe_Assinado.InnerXml.Replace("</infNFe>", "</infNFe><infNFeSupl><qrCode><![CDATA[" + gerarXml.Gera_Url_QRCode(xmlNFe_Assinado, pedido) + "]]></qrCode></infNFeSupl>")); //========================================================================== string caminho = @"C:\Documents and Settings\Renan\Desktop\XmlAssinado.xml"; Grava = File.CreateText(caminho); Grava.Write(xmlNFe_Assinado.InnerXml); Grava.Close(); //========================================================================== if (retValidar == string.Empty) { try { MensagemSistema("Enviando a NFC-e", Color.Black); // Recebendo o XML de retorno da transmissão retTransmitir = transmitirXml.XML_NFCe(xmlNFe_Assinado, pedido.nfiscal, Certificado.getInstance.oCertificado); if (retTransmitir.Substring(0, 4) != "Erro") { XmlDocument xmlRetorno = new XmlDocument(); xmlRetorno.LoadXml(retTransmitir); // Lote processado if (xmlRetorno.GetElementsByTagName("cStat")[0].InnerText == "104") { // Autorizado if (xmlRetorno.GetElementsByTagName("cStat")[1].InnerText == "100") { try { MensagemSistema("Autorizado o uso da NFC-e", Color.Green); pedido.chave = xmlRetorno.GetElementsByTagName("chNFe")[0].InnerText; pedido.protocolo = xmlRetorno.GetElementsByTagName("nProt")[0].InnerText; txtProtocolo.Text = pedido.protocolo; txtData.Text = DateTime.Now.ToString(); // Separar somente o conteúdo a partir da tag <protNFe> até </protNFe> nPosI = retTransmitir.IndexOf("<protNFe"); nPosF = retTransmitir.Length - (nPosI + 13); strProc = retTransmitir.Substring(nPosI, nPosF); // XML pronto para salvar strXmlProcNfe = @"<?xml version=""1.0"" encoding=""utf-8"" ?><nfeProc xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""3.10"">" + xmlNFe_Assinado.InnerXml + strProc + "</nfeProc>"; pedido.xml = new XML(); pedido.xml.numdoc = pedido.numdoc; pedido.xml.arquivoXML = strXmlProcNfe; pedido.xml.data = DateTime.Now; pedido.xml.Modelo = pedido.modelo; if (GerarXML.str_Ambiente == "1") { //SalvarArquivoXML_Pasta(i); } //SalvarArquivoXML_Pasta(@"C:\Documents and Settings\Renan\Desktop\NFCE EMITIDA.xml", pedido.xml.arquivoXML); //========================================================================== caminho = @"C:\Documents and Settings\Renan\Desktop\NFCE EMITIDA.xml"; Grava = File.CreateText(caminho); Grava.Write(strXmlProcNfe); Grava.Close(); //========================================================================== // Salvando o xml no Banco de Dados if (xmlDao.Grava_XML(pedido.xml)) { // Atualizando o pedido com Chave e Protocolo if (pdDao.Update_ChaveProtocolo(pedido.numdoc, pedido.chave, pedido.protocolo)) { //Atualizando a data do pedido pdDao.Update_DataNFiscal(pedido.numdoc, DateTime.Now); } } else { } } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MensagemSistema("** NOTA EMITIDA **, mas houve um erro inesperado ao salvar (005)" + Environment.NewLine + "Erro: " + ex.Message, Color.Maroon); return; } } else { MensagemSistema("Erro ao Transmitir (004)" + Environment.NewLine + "Erro: " + xmlRetorno.GetElementsByTagName("xMotivo")[1].InnerText, Color.Maroon); return; } } else { MensagemSistema("Erro ao Transmitir (003)" + Environment.NewLine + "Erro: " + xmlRetorno.GetElementsByTagName("xMotivo")[0].InnerText, Color.Maroon); return; } } else { MensagemSistema("Erro ao Transmitir (002)" + Environment.NewLine + "Erro: " + retTransmitir, Color.Maroon); return; } } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MensagemSistema("Erro ao Transmitir (001)" + Environment.NewLine + "Erro: " + ex.Message, Color.Maroon); return; } } else { MensagemSistema("Erro no XML" + Environment.NewLine + "XML Shema: " + retValidar, Color.Maroon); return; } } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MensagemSistema("Ocorreu um erro inesperado, informe ao administrador do sistema!" + Environment.NewLine + ex.Message, Color.Maroon); return; } }
private void CmdCancela_Click(object sender, EventArgs e) { if ((DateTime.Now - p.datadigitacao).TotalHours > 24) { MessageBox.Show("Prazo de Cancelamento Superior ao Previsto na Legislação.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (p.conddoc == "C") { MessageBox.Show("NF-e já cancelada.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (cboMotivo.Text.Trim().Length < 15) { MessageBox.Show("Minimo de 15 caracteres!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } this.Cursor = Cursors.WaitCursor; StreamWriter Grava; GerarXML geraxml = new GerarXML(); AssinarXML assinar = new AssinarXML(); ValidarXML validar = new ValidarXML(); TransmitirXML transmitir = new TransmitirXML(); XMLDao xmldao = new XMLDao(); string retValidar = string.Empty; string xMotivo = cboMotivo.Text; string retTransmitir = string.Empty; txtResultado.Text = string.Empty; try { //Gerando xml xmlCanc = geraxml.CancelamentoNFe(p, xMotivo); //Assinando xml xmlCanc_Assinado = assinar.AssinaXML(xmlCanc.InnerXml, "infEvento", Certificado.getInstance.oCertificado); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Erro ao assinar: " + ex.Message, "Mensagem", MessageBoxButtons.OK); this.Cursor = Cursors.Default; return; } try { //Validando o xml assinado retValidar = validar.Valida(xmlCanc_Assinado, "Canc"); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Erro ao Validar: " + ex.Message, "Mensagem", MessageBoxButtons.OK); this.Cursor = Cursors.Default; return; } if (retValidar == string.Empty) { try { //Recebendo xml de retorno da transmissão retTransmitir = transmitir.XML_CancelamentoNFCe4(xmlCanc_Assinado, p.nfiscal, Certificado.getInstance.oCertificado); if (retTransmitir.Substring(0, 4) != "Erro") { XmlDocument xmlRetorno = new XmlDocument(); xmlRetorno.LoadXml(retTransmitir); //Lote processado if (xmlRetorno.GetElementsByTagName("cStat")[0].InnerText == "128") { //Evento registrado e vinculado a NFC-e if (xmlRetorno.GetElementsByTagName("cStat")[1].InnerText == "135") { try { p.xml.numdoc = p.numdoc; p.xml.data = DateTime.Now; p.xml.arquivoXML = xmlRetorno.InnerXml; p.xml.Modelo = p.modelo; p.xml.statNFCe = "135"; if (!string.IsNullOrEmpty(Controle.getInstance.caminho_XMLCancelado)) { //Salva o arquivo XML na pasta Grava = File.CreateText(Controle.getInstance.caminho_XMLCancelado + @"\110111-" + p.chave + "-1-procEventoNfe.xml"); Grava.Write(p.xml.arquivoXML); Grava.Close(); } //Salva arquivo XML no Banco SQL (NFe) if (xmldao.Grava_XML(p.xml)) { //Atualizando o status do pedido para cancelada (135) (new PedidoDao()).Update_StatNFCe_CondDoc(p.numdoc, p.xml.statNFCe); var db = new Database("stringConexao"); try { db.BeginTransaction(); foreach (PedidoItem pItem in p.lstPedidoItem) { db.Update("UPDATE produto " + "SET Estoque = Estoque + " + pItem.qtditens * 1 + ",ValorVnd = ValorVnd + " + (pItem.valitens * -1).ToString().Replace(",", ".") + " WHERE CodPro = " + pItem.codpro); } //Boleta cancelada db.Update("UPDATE Boleta set condicao = 2 where numdoc = " + p.numdoc); db.CompleteTransaction(); } catch (Exception) { db.AbortTransaction(); MessageBox.Show("Houve um erro inesperado ao atualizar o estoque e cancelar as boletas, informe imediatamente ao administrador do sistema!", "Mensagem de erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } txtResultado.AppendText("Pedido cancelado com sucesso!"); txtResultado.ForeColor = Color.Green; } else { txtResultado.AppendText("Pedido cancelado com sucesso, porém houve um erro ao salvar o arquivo XML no banco de dados, informe ao administrador do sistema!"); txtResultado.ForeColor = Color.Green; } } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); txtResultado.AppendText("Pedido cancelado com sucesso, porém houve um erro inesperado, informe ao administrador do sistema!"); txtResultado.ForeColor = Color.Green; } } else { txtResultado.AppendText("Erro ao cancelar (002): " + xmlRetorno.GetElementsByTagName("xMotivo")[1].InnerText + Environment.NewLine); txtResultado.ForeColor = Color.Maroon; this.Cursor = Cursors.Default; return; } } else { txtResultado.AppendText("Erro ao cancelar (001): " + xmlRetorno.GetElementsByTagName("xMotivo")[0].InnerText + Environment.NewLine); txtResultado.ForeColor = Color.Maroon; this.Cursor = Cursors.Default; return; } } else { txtResultado.AppendText("Erro ao transmitir (001): " + retTransmitir + Environment.NewLine); txtResultado.ForeColor = Color.Maroon; this.Cursor = Cursors.Default; return; } } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Erro ao Transmitir XML: " + ex.Message, "Mensagem", MessageBoxButtons.OK); this.Cursor = Cursors.Default; return; } } else { txtResultado.AppendText("Erro na validação do XML: " + retValidar + Environment.NewLine); txtResultado.ForeColor = Color.Maroon; this.Cursor = Cursors.Default; return; } this.Cursor = Cursors.Default; }
private void cmdTransmitirXML_Click(object sender, EventArgs e) { if (lstMovdia.CheckedItems.Count == 0) { MessageBox.Show("Selecione uma Nota Fiscal na lista abaixo.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); lstMovdia.Focus(); return; } PedidoDao pdDao = new PedidoDao(); XMLDao xmlDao = new XMLDao(); //StreamWriter Grava; string retValidar; string strProc; string strXmlProcNfe; int nPosI; int nPosF; string cStatus_LoteProcessado; string cStatus_Autorizado; TxtResultado.Text = string.Empty; txtDadosXML.Text = string.Empty; progressBar1.Value = 0; progressBar1.Maximum = lstMovdia.Items.Count; try { for (int i = 0; i <= lstMovdia.Items.Count - 1; i++) { progressBar1.Value = progressBar1.Value + 1; if (lstMovdia.Items[i].Checked == true) { retTransmitir = string.Empty; retValidar = string.Empty; cStatus_LoteProcessado = string.Empty; cStatus_Autorizado = string.Empty; try { // Gerando o XML xmlNFe = (gerarXml.NFe(lstPedido[i])); // Assinando o XML xmlNFe_Assinado = assinarXml.AssinaXML(xmlNFe.InnerXml, "infNFe", Certificado.getInstance.oCertificado); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); lst_Color(i, "Erro ao Assinar", Color.Red); lista_Erros(i, "Erro: " + ex.Message); continue; } try { // Validando o XML retValidar = validarXml.Valida(xmlNFe_Assinado, "NFe"); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); lst_Color(i, "Erro inesperado ao Validar", Color.Red); lista_Erros(i, "Erro ao Validar: " + ex.Message); continue; } if (lstPedido[i].modelo == "65") { //Inserindo a URL QRCode no xml já assinado xmlNFe_Assinado.LoadXml(xmlNFe_Assinado.InnerXml.Replace("</infNFe>", "</infNFe><infNFeSupl><qrCode><![CDATA[" + gerarXml.Gera_Url_QRCode(xmlNFe_Assinado, lstPedido[i]) + "]]></qrCode></infNFeSupl>")); } /* * // Gravando o arquivo xml na pasta de Saidas * Grava = File.CreateText(@"C:\Documents and Settings\Renan\Desktop\xxxx1.XML"); * Grava.Write(xmlNFe_Assinado.InnerXml); * Grava.Close(); */ if (retValidar == string.Empty) { try { // Recebendo o XML de retorno da transmissão //retTransmitir = lstPedido[i].modelo == "65" ? transmitirXml.XML_NFCe(xmlNFe_Assinado, lstPedido[i].nfiscal, Certificado.getInstance.oCertificado) : transmitirXml.XML_NFe(xmlNFe_Assinado, lstPedido[i].nfiscal, Certificado.getInstance.oCertificado); if (retTransmitir.Substring(0, 4) != "Erro") { XmlDocument xmlRetorno = new XmlDocument(); xmlRetorno.LoadXml(retTransmitir); // Lote processado if (xmlRetorno.GetElementsByTagName("cStat")[0].InnerText == "104") { // Autorizado if (xmlRetorno.GetElementsByTagName("cStat")[1].InnerText == "100") { try { lstPedido[i].chave = xmlRetorno.GetElementsByTagName("chNFe")[0].InnerText; lstPedido[i].protocolo = xmlRetorno.GetElementsByTagName("nProt")[0].InnerText; // Separar somente o conteúdo a partir da tag <protNFe> até </protNFe> nPosI = retTransmitir.IndexOf("<protNFe"); nPosF = retTransmitir.Length - (nPosI + 13); strProc = retTransmitir.Substring(nPosI, nPosF); // XML pronto para salvar strXmlProcNfe = @"<?xml version=""1.0"" encoding=""utf-8"" ?><nfeProc xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""3.10"">" + xmlNFe_Assinado.InnerXml + strProc + "</nfeProc>"; lstPedido[i].xml.numdoc = lstPedido[i].numdoc; lstPedido[i].xml.arquivoXML = strXmlProcNfe; lstPedido[i].xml.data = DateTime.Now; lstPedido[i].xml.Modelo = lstPedido[i].modelo; if (GerarXML.str_Ambiente == "1") { SalvarArquivoXML_Pasta(i); } // Salvando o xml no Banco de Dados if (xmlDao.Grava_XML(lstPedido[i].xml)) { // Atualizando o pedido com Chave e Protocolo if (pdDao.Update_ChaveProtocolo(lstPedido[i].numdoc, lstPedido[i].chave, lstPedido[i].protocolo)) { lst_Color(i, xmlRetorno.GetElementsByTagName("xMotivo")[1].InnerText, Color.Green); txtDadosXML.AppendText("Nota Fiscal: " + lstPedido[i].nfiscal + " emitida com sucesso..." + Environment.NewLine); txtDadosXML.AppendText("Arquivo XML salvo com sucesso..." + Environment.NewLine); txtDadosXML.AppendText("Chave: " + lstPedido[i].chave + Environment.NewLine); txtDadosXML.AppendText("Protocolo: " + lstPedido[i].protocolo + Environment.NewLine + Environment.NewLine); /* * if (Usuario.getInstance.empresa == 1) * { * if (GerarXML.str_Ambiente == "1") * { * // Enviando email para o cliente * if (email.EnviaEmailNFe(lstPedido[i])) { pdDao.Atualiza_Pedido_Email(lstPedido[i].numdoc); } * } * }*/ } else { lst_Color(i, xmlRetorno.GetElementsByTagName("xMotivo")[1].InnerText, Color.Green); lista_Erros(i, "NOTA EMITIDA, mas houve um erro ao atualizar o pedido com a CHAVE e o PROTOCOLO, informe imediatamente ao administrador do sistema!"); } } else { lst_Color(i, xmlRetorno.GetElementsByTagName("xMotivo")[1].InnerText, Color.Green); lista_Erros(i, "NOTA EMITIDA, mas houve um erro ao salvar o arquivo de XML no banco de dados, informe imediatamente ao administrador do sistema!"); } } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); lista_Erros(i, ex.Message); lst_Color(i, "NOTA EMITIDA, mas houve um erro inesperado (005)", Color.Red); continue; } } else { lista_Erros(i, xmlRetorno.GetElementsByTagName("xMotivo")[1].InnerText); lst_Color(i, "Erro ao Transmitir (004)", Color.Red); continue; } } else { lista_Erros(i, xmlRetorno.GetElementsByTagName("xMotivo")[0].InnerText); lst_Color(i, "Erro ao Transmitir (003)", Color.Red); continue; } } else { lista_Erros(i, retTransmitir); lst_Color(i, "Erro ao Transmitir (002)", Color.Red); continue; } } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); lista_Erros(i, ex.Message); lst_Color(i, "Erro ao Transmitir (001)", Color.Red); continue; } } else { lst_Color(i, "Erro no XML", Color.Red); lista_Erros(i, "XML Shema: " + retValidar); continue; } } } } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); TxtResultado.AppendText("Ocorreu um erro inesperado, informe ao administrador do sistema!" + Environment.NewLine + ex.Message + Environment.NewLine); return; } }
private void cmdLocalizar_Click(object sender, EventArgs e) { txtResultado.Text = string.Empty; if (txtNumDoc.Text.Trim() == string.Empty) { MessageBox.Show("Digite o (" + cboProcurar.Text + ") por favor.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } cboMotivo.Text = "PEDIDO DIGITADO INDEVIDAMENTE"; cboMotivo.Focus(); this.Cursor = Cursors.WaitCursor; try { if (cboProcurar.SelectedIndex == 0) { //Por nota fiscal p = pdao.getPedido(txtNumDoc.Text.Trim()); } else { //Por pedido p = pdao.getPedido(Convert.ToInt32(txtNumDoc.Text.Trim())); } if (p == null) { MessageBox.Show("Pedido não encontrado, verifique por favor.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Cursor = Cursors.Default; return; } if (string.IsNullOrEmpty(p.chave) || string.IsNullOrEmpty(p.protocolo)) { MessageBox.Show("Não existe Chave e Protocolo nesse pedido, verifique por favor.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Cursor = Cursors.Default; return; } p.operacao = (new OperacaoDao()).getOperacaoPedido(p.numdoc); p.cliente = (new ClienteDao()).getClientePedido(p.numdoc); p.operacao = (new OperacaoDao()).getOperacaoPedido(p.numdoc); p.lstPedidoItem = (new PedidoItemDao()).getlst_Itens(p.numdoc); p.cliente.end = (new EnderecoDao()).getEnderecoCliente(p.numdoc); p.xml = new XML(); lblNFiscal.Text = p.nfiscal.ToString(); lblDatDoc.Text = p.datadigitacao.ToString().Substring(0, 10); lblCodNat.Text = p.operacao.codoperacao.ToString(); lblValDoc.Text = p.valdoc.ToString("######0.00"); lblRazaoSocial.Text = p.cliente.firma; lblEndereco.Text = p.cliente.end.logradouro + " " + p.cliente.end.complemento; lblCidade.Text = p.cliente.end.municipio; lblUF.Text = p.cliente.end.uf; TxtChaveNFe.Text = p.chave; TxtNumProtocolo.Text = p.protocolo; CmdCancela.Enabled = true; this.Cursor = Cursors.Default; } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Ocorreu um erro inesperado. Informe imediatamente o administrador do sistema!" + Environment.NewLine + ex.Message, "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Cursor = Cursors.Default; return; } }
private void frmCaixa_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Escape) { if (!statusCaixa) { Unload_Form(); return; } Reinicia_Venda(); } else if (e.KeyData == Keys.F2) { if (!statusCaixa) { Inicia_Venda(); } else { MessageBox.Show("O caixa já está aberto, finalize ou cancele para iniciar novamente!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else if (e.KeyData == Keys.F5) { if (!statusCaixa) { return; } try { Finaliza_Venda(); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Tente novamente " + ex.Message, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else if (e.KeyData == Keys.F8) { if (MessageBox.Show("Confirma fechar a aplicação ?", "Venda", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { Unload_Form(); } } else if (e.KeyData == Keys.F4) { if (!statusCaixa) { return; } frmPesquisaProduto frmPesquisa = new frmPesquisaProduto(); frmPesquisa.ShowDialog(); produto = frmPesquisa.produto; if (produto != null) { Seleciona_Produto(produto); txtQuantidade.Focus(); } } }
private void Form1_Load(object sender, EventArgs e) { //=========================================================================== //=========================================================================== (new EmitenteDao()).SelecionaEmitente(); // Selecionando o certificado Certificado.getInstance.Seleciona_Certificado(); // Iniciando o certificado if (Certificado.getInstance.oCertificado == null) { MessageBox.Show("Certificado não encontrado." + Environment.NewLine + "Tente novamente...", "Certificado - Erro", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if ((Certificado.getInstance.dValidadeFinal - DateTime.Now).Days <= 7) { if ((Certificado.getInstance.dValidadeFinal - DateTime.Now).Days <= 0) { MessageBox.Show("CERTIFICADO EXPIRADO!" + Environment.NewLine + "Informe imediatamente ao gerente do Setor.", "Certificado - Validade", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } MessageBox.Show("Atenção, faltam " + (Certificado.getInstance.dValidadeFinal - DateTime.Now).Days + " dias para o certificado expirar!", "Atenção - Validade", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } //=========================================================================== //=========================================================================== this.Text = "Menu Principal (NFCe 3.10)"; try { Iniciando_Configuracao(); if (!(new EmitenteDao()).SelecionaEmitente()) { MessageBox.Show("Dados do Emitente não encontrado, tente novamente!", "Erro Login", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } stbPrincipal.Items[0].Text = Emitente.getInstance.nome; stbPrincipal.Items[1].Text = "CNPJ: " + String.Format(@"{0:00\.000\.000\/0000\-00}", Convert.ToInt64(Emitente.getInstance.cnpj)); stbPrincipal.Items[2].Text = "IE: " + Emitente.getInstance.inscest; stbPrincipal.Items[3].Text = DateTime.Now.ToString("dd/MM/yyyy"); stbPrincipal.Items[5].Text = "Usuário: " + Usuario.getInstance.nomeUser; stbPrincipal.Items[6].Text = "Loja: " + (Usuario.getInstance.loja.Equals(0)?"Livraria":"Cafeteria"); } catch (Exception ex) { Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Ocorreu um erro ao buscar os dados do Emitente no banco de dados, verfique por favor ou contate o administrador do sistema! " + Environment.NewLine + "Retorno do erro: " + ex.Message, "Erro inesperado", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //=========================================== // Definindo o ambiente GerarXML.str_Ambiente = "1"; //=========================================== if (GerarXML.str_Ambiente == "1") { stbPrincipal.Items[4].Text = "Ambiente PRODUÇÃO"; } else { stbPrincipal.Items[4].Text = "Ambiente HOMOLOGAÇÃO"; } }
private void btnEmitir_Click(object sender, EventArgs e) { if (lstvwPedidos.FocusedItem == null) { return; } if (lstp[lstvwPedidos.FocusedItem.Index].datadigitacao.Date < DateTime.Now.Date) { lstp[lstvwPedidos.FocusedItem.Index].datanfiscal = DateTime.Now; } if (lstp[lstvwPedidos.FocusedItem.Index].nfiscal.Equals("0") || lstp[lstvwPedidos.FocusedItem.Index].nfiscal.Equals("")) { var db = new Database("stringConexao"); try { db.BeginTransaction(); lstp[lstvwPedidos.FocusedItem.Index].nfiscal = ((new ControleNFiscalDao()).getNumNFiscal() + 1).ToString(); db.Update("Update Controle Set NFiscal_NFCe=" + Convert.ToInt32(lstp[lstvwPedidos.FocusedItem.Index].nfiscal.Trim()) + " Where ChvControle = 1"); db.Update("Update Movdb Set nfiscal = '" + lstp[lstvwPedidos.FocusedItem.Index].nfiscal.Trim() + "' Where NumDoc=" + lstp[lstvwPedidos.FocusedItem.Index].numdoc); db.CompleteTransaction(); Controle.getInstance.ultima_NFCe = Convert.ToInt32(lstp[lstvwPedidos.FocusedItem.Index].nfiscal); } catch (Exception ex) { //RollBack db.AbortTransaction(); Log_Exception.Monta_ArquivoLog(ex); MessageBox.Show("Houve um erro de conexão com o Banco de Dados." + Environment.NewLine + "Tente Novamente.." + Environment.NewLine + ex.Message, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } foreach (var ls in lstvwPedidos.CheckedItems) { var l = (ListViewItem)ls; if (Gera_NFCe(lstp[l.Index])) { //MessageBox.Show("NFC-e Emitida com Sucesso!", "Emissão Nota Fiscal Eletrônica", MessageBoxButtons.OK, MessageBoxIcon.Information); } } MessageBox.Show("NFC-e Emitida com Sucesso!", "Emissão Nota Fiscal Eletrônica", MessageBoxButtons.OK, MessageBoxIcon.Information); cmdLocalizar_Click(sender, e); //if (Gera_NFCe(lstp[lstvwPedidos.FocusedItem.Index])) //{ // MessageBox.Show("NFC-e Emitida com Sucesso!", "Emissão Nota Fiscal Eletrônica", MessageBoxButtons.OK, MessageBoxIcon.Information); // cmdLocalizar_Click(sender, e); //} }