Example #1
0
        private void envia()
        {
            try
            {
                XmlNode resp;


                if (config.configNFCe.TpAmb.Substring(0, 1).Equals("2"))
                {

                    br.gov.mt.sefaz.homologacao.NfeAutorizacao envia = new br.gov.mt.sefaz.homologacao.NfeAutorizacao();
                    envia.ClientCertificates.Add(cert);
                    envia.nfeCabecMsgValue = new br.gov.mt.sefaz.homologacao.nfeCabecMsg();
                    envia.nfeCabecMsgValue.cUF = "51";
                    envia.nfeCabecMsgValue.versaoDados = "3.10";

                    resp = envia.nfeAutorizacaoLote(xmlNfce);
                }
                else 
                {
                    br.gov.mt.sefaz.nfce.NfeAutorizacao envia = new br.gov.mt.sefaz.nfce.NfeAutorizacao();
                    envia.ClientCertificates.Add(cert);
                    envia.nfeCabecMsgValue = new br.gov.mt.sefaz.nfce.nfeCabecMsg();
                    envia.nfeCabecMsgValue.cUF = "51";
                    envia.nfeCabecMsgValue.versaoDados = "3.00";

                    resp = envia.nfeAutorizacaoLote(xmlNfce);
                }

                foreach (XmlNode n in resp.ChildNodes)
                {
                    switch (n.Name)
                    {
                        case "cStat":
                            retRejeiçao = n.InnerText;
                            break;
                        case "xMotivo":
                            retRejeiçaoMotivo = n.InnerText;
                            break;
                        default:
                            foreach (XmlNode n2 in n)
                            {
                                if (n2.Name.Equals("nRec"))
                                    Recibo = n2.InnerText;
                            }
                            break;

                    }
                }

                if (Recibo != String.Empty)
                {
                    statusCupom.NotificationChanged((int)StatusCupom.CupomEnviadoSeFaz);
                    ConsultarNfce();
                }
                else
                {
                    Utils.Logger.getInstance.error("Erro: " + retRejeiçao);
                    Utils.Logger.getInstance.error("Error mensagem: " + retRejeiçaoMotivo);
                
                }
            }
            catch (Exception e)
            {
                Utils.Logger.getInstance.error(e);
                throw new Exception(e.ToString());
            }
        }
Example #2
0
        private void ConsultarNfce()
        {
            try
            {
                retRejeiçao = "105";

                while (retRejeiçao.Equals("105"))
                {

                    XmlNode n1 = null;

                    StringWriter xmlS = new StringWriter();
                    XmlTextWriter w = new XmlTextWriter(xmlS);
                    w.WriteStartDocument();
                    w.WriteStartElement("consReciNFe", "http://www.portalfiscal.inf.br/nfe");
                    w.WriteAttributeString("versao", "3.10");
                    w.WriteElementString("tpAmb", config.configNFCe.TpAmb.Substring(0, 1));
                    w.WriteElementString("nRec", Recibo);
                    w.WriteEndElement();
                    w.Close();

                    XmlDocument xd = new XmlDocument();
                    xd.LoadXml(xmlS.ToString());


                    if (config.configNFCe.TpAmb.Substring(0, 1).Equals("2"))
                    {

                        br.gov.mt.sefaz.homologacao1.NfeRetAutorizacao ret = new br.gov.mt.sefaz.homologacao1.NfeRetAutorizacao();

                        ret.ClientCertificates.Add(cert);
                        ret.nfeCabecMsgValue = new br.gov.mt.sefaz.homologacao1.nfeCabecMsg();
                        

                        ret.nfeCabecMsgValue.cUF = "51";
                        ret.nfeCabecMsgValue.versaoDados = "3.10";


                        n1 = ret.nfeRetAutorizacaoLote(xd);
                        
                    }
                    else
                    {

                        br.gov.mt.sefaz.nfce.NfeAutorizacao ret = new br.gov.mt.sefaz.nfce.NfeAutorizacao();

                        ret.ClientCertificates.Add(cert);

                        ret.nfeCabecMsgValue = new br.gov.mt.sefaz.nfce.nfeCabecMsg();

                        ret.nfeCabecMsgValue.cUF = "51";
                        ret.nfeCabecMsgValue.versaoDados = "3.10";

                        n1 = ret.nfeAutorizacaoLote(xd);
                    }

                    
                    foreach (XmlNode n in n1.ChildNodes)
                    {
                        foreach (XmlNode nB in n.ChildNodes)
                        {
                            if (nB.HasChildNodes)
                            {

                                foreach (XmlNode nC in nB.ChildNodes)
                                {

                                    switch (nC.Name)
                                    {
                                        case "cStat":
                                            retRejeiçao = nC.InnerText;
                                            break;
                                        case "xMotivo":
                                            retRejeiçaoMotivo = nC.InnerText;
                                            break;
                                        default:
                                            foreach (XmlNode n2 in n)
                                            {
                                                if (n2.Name.Equals("nRec"))
                                                    Recibo = n2.InnerText;
                                            }
                                            break;

                                    }
                                }
                            }
                        }
                    }

                    System.Threading.Thread.Sleep(1000);
                }
                if (!retRejeiçao.Equals("100"))
                    throw new Exception(retRejeiçaoMotivo);
                else
                {
                    ConsultaOK = true;
                    statusCupom.NotificationChanged((int)StatusCupom.CupomSeFazRetornoOk);
                }
            }
            catch (Exception ex)
            {
                Utils.Logger.getInstance.error(ex);
                throw new Exception(ex.ToString());
            }
        }