Exemple #1
0
        public void Enviar(Entidade_Inutilizacao ObjEnt, out Entidade_Inutilizacao objDados)
        {
            docTran   = new XmlDocument();
            ns        = new XmlSerializerNamespaces();
            Settings  = new XmlWriterSettings();
            xmlStatus = new XmlSerializer(typeof(inutNFe.TInutNFe));

            eObjInut = ObjEnt;

            InutilNfe = new inutNFe.TInutNFe(ObjEnt);
            eObjInut.ChaveAcessoNfe = InutilNfe.infInut.Id.Replace("ID", "");
            // E DEFINIDO O TIPO DE LEITURA DO XML
            Settings.Encoding        = UTF8Encoding.UTF8;
            Settings.NewLineHandling = NewLineHandling.None;
            Settings.Indent          = true;
            Settings.IndentChars     = "";

            ns.Add(string.Empty, "http://www.portalfiscal.inf.br/nfe");

            Sw = new UTF8StringWriter();
            Wx = XmlWriter.Create(Sw, Settings);
            xmlStatus.Serialize(Sw, InutilNfe, ns);
            string xmlGer = Sw.ToString();

            docTran.LoadXml(xmlGer);
            docTran.PreserveWhitespace = false;


            CertEmpresa = AssinaturaDigital.FindCertOnStore(ObjEnt.Loja);

            EnviarXml(AssinaturaDigital.SignXml(docTran, CertEmpresa, "infInut"), CertEmpresa, ref ObjEnt);

            objDados = ObjEnt;
        }
        public void Enviar(Entidade_CCe ObjEnt, out Entidade_CCe objDados)
        {
            docTran    = new XmlDocument();
            docEnviNfe = new XmlDocument();
            ns         = new XmlSerializerNamespaces();
            Settings   = new XmlWriterSettings();
            xmlStatus  = new XmlSerializer(typeof(CCe.TEvento));
            EntCarta   = new Entidade_CCe();

            EntCarta = PesquisarCartaEletronica();

            docEnviNfe.PreserveWhitespace = false;
            docEnviNfe.LoadXml(CabecalhoEvento(EntCarta.Id_CCe_Lote));

            nodeListNfe = docEnviNfe.GetElementsByTagName("envEvento");

            if (EntCarta.ItemCCe != null)
            {
                foreach (var item in EntCarta.ItemCCe)
                {
                    nEventoCarta = new CCe.TEvento(item);

                    Settings.Encoding        = UTF8Encoding.UTF8;
                    Settings.NewLineHandling = NewLineHandling.None;
                    Settings.Indent          = true;
                    Settings.IndentChars     = "";

                    ns.Add(string.Empty, "http://www.portalfiscal.inf.br/nfe");

                    Sw = new UTF8StringWriter();
                    Wx = XmlWriter.Create(Sw, Settings);
                    xmlStatus.Serialize(Sw, nEventoCarta, ns);
                    string xmlGer = Sw.ToString();

                    docTran.LoadXml(xmlGer);
                    docTran.PreserveWhitespace = false;

                    CertEmpresa = AssinaturaDigital.FindCertOnStore(item.id_loja);

                    docTran = AssinaturaDigital.SignXml(docTran, CertEmpresa, "infEvento");

                    nodeListCarregarNfe = docTran.GetElementsByTagName("evento", "http://www.portalfiscal.inf.br/nfe");
                    nodeListNfe.Item(0).AppendChild(docEnviNfe.ImportNode(nodeListCarregarNfe.Item(0), true));
                }
                try
                {
                    EnviarXml(docEnviNfe, CertEmpresa, ref EntCarta);
                    objDados = ObjEnt;
                }
                catch (Exception Ex)
                {
                    Mensagem.MensagemErro(Mensagem.TipoMensagem.CartaEletronica, "Saida", Ex.Message.ToString());
                    objDados = null;
                }
            }
            else
            {
                objDados = null;
            }
        }
Exemple #3
0
        public void Enviar(Entidade_Manifestacao ObjEnt, out Entidade_Manifestacao objDados)
        {
            docTran         = new XmlDocument();
            docEnviNfe      = new XmlDocument();
            ns              = new XmlSerializerNamespaces();
            Settings        = new XmlWriterSettings();
            xmlStatus       = new XmlSerializer(typeof(TEnvEvento));
            EntManifestacao = new Entidade_Manifestacao();

            //EntManifestacao = PesquisaDados();
            envManifestacao = new TEnvEvento(ObjEnt);
            objDados        = null;

            Settings.Encoding        = UTF8Encoding.UTF8;
            Settings.NewLineHandling = NewLineHandling.None;
            Settings.Indent          = true;
            Settings.IndentChars     = "";

            ns.Add(string.Empty, "http://www.portalfiscal.inf.br/nfe");

            try
            {
                Sw = new UTF8StringWriter();
                Wx = XmlWriter.Create(Sw, Settings);
                xmlStatus.Serialize(Sw, envManifestacao, ns);
                string xmlGer = Sw.ToString();

                docTran.LoadXml(xmlGer);
                docTran.PreserveWhitespace = false;

                CertEmpresa = AssinaturaDigital.FindCertOnStore(1);

                EnviarXml(AssinaturaDigital.SignXml(docTran, CertEmpresa, "infEvento"), CertEmpresa, ref ObjEnt);

                objDados = ObjEnt;
            }
            catch (Exception Ex)
            {
                Mensagem.MensagemErro(Mensagem.TipoMensagem.Cancelamento, "Envia Manifestação", Ex.Message.ToString());
                objDados = null;
            }
        }
Exemple #4
0
        public void Enviar(Entidade_NotaFiscal ObjEnt, out Entidade_NotaFiscal objDados)
        {
            docTran   = new XmlDocument();
            ns        = new XmlSerializerNamespaces();
            xmlStatus = new XmlSerializer(typeof(nfe.TNFe));
            Settings  = new XmlWriterSettings();
            DataTable DtLoteNfe = new DataTable();

            mLog          = new Model_LogNfe();
            ObjLote       = new Model_Lote();
            ObjModNfe     = new Model_NotaFiscal();
            ObjNotaFiscal = ObjEnt;
            NFuncoes      = new NegocioFuncoesGerais();

            ObjNotaFiscal = new Entidade_NotaFiscal();

            var Lojas = FuncoesGerais.LojasEmitentes();

            for (int i = 0; i < Lojas.Rows.Count; i++)
            {
                int    Loja       = 0;
                int    Nota       = 0;
                int    Fornecedor = 0;
                string Serie      = "";
                int    TpEmis     = 0;
                var    Lote       = GerarLoteNfe(Convert.ToInt32(Lojas.Rows[i]["id_loja"].ToString()));
                docEnviNfe = new XmlDocument();
                if (Lote != 0)
                {
                    docEnviNfe.PreserveWhitespace = false;
                    docEnviNfe.LoadXml(CabecalhoEnvieNfe(Lote));

                    nodeListNfe = docEnviNfe.GetElementsByTagName("enviNFe");

                    DtLoteNfe = PesquisaNotasFiscaisLoteNfe(Convert.ToInt32(Lojas.Rows[i]["id_loja"].ToString()), Lote);

                    foreach (DataRow RowNFDt in DtLoteNfe.Rows)
                    {
                        try
                        {
                            docTran = new XmlDocument();

                            var RetEnt = CarregarDados(Convert.ToInt32(RowNFDt["id_loja"]), Convert.ToInt32(RowNFDt["NrNf"]), RowNFDt["serienf"].ToString(), Convert.ToInt32(RowNFDt["CdFornec"]), RowNFDt["TpNFe"].ToString());
                            if (RetEnt != null)
                            {
                                ObjNotaFiscal.cUf  = RetEnt.cUf; // Uf do Emitente
                                ObjNotaFiscal.Loja = RetEnt.Loja;
                                Loja               = RetEnt.Loja;
                                Nota               = RetEnt.NotaFiscal;
                                Fornecedor         = RetEnt.CdFornecedor;
                                Serie              = RetEnt.sSerieNf;
                                TpEmis             = RetEnt.TpEmis;
                                ObjNotaFiscal.Lote = Lote;

                                Nfe = new nfe.TNFe(RetEnt);
                            }
                            // E DEFINIDO O TIPO DE LEITURA DO XML
                            Settings.Encoding        = UTF8Encoding.UTF8;
                            Settings.NewLineHandling = NewLineHandling.None;
                            Settings.Indent          = true;
                            Settings.IndentChars     = "";

                            ns.Add(string.Empty, "http://www.portalfiscal.inf.br/nfe");

                            Sw = new UTF8StringWriter();
                            Wx = XmlWriter.Create(Sw, Settings);
                            xmlStatus.Serialize(Sw, Nfe, ns);
                            string xmlGer = Sw.ToString();

                            docTran.LoadXml(xmlGer);
                            docTran.PreserveWhitespace = false;

                            CertEmpresa = AssinaturaDigital.FindCertOnStore(Convert.ToInt32(RowNFDt["id_loja"]));

                            docTran = AssinaturaDigital.SignXml(docTran, CertEmpresa, "infNFe");

                            if (NFuncoes.ValidarEstruturaXml(docTran.OuterXml, "nfe_v3.10"))
                            {
                                Mensagem.MensagemErro(Mensagem.TipoMensagem.XmlLoteGerados, "Entrada", Lote.ToString() + "|" + "Nota :" + RetEnt.sSerieNf + "-" + RetEnt.NotaFiscal.ToString() + "|" + docTran.OuterXml);
                                nodeListCarregarNfe = docTran.GetElementsByTagName("NFe", "http://www.portalfiscal.inf.br/nfe");
                                nodeListNfe.Item(0).AppendChild(docEnviNfe.ImportNode(nodeListCarregarNfe.Item(0), true));
                                ObjLote.UpdateXmlTpSaida(RetEnt.Loja, RetEnt.NotaFiscal, RetEnt.sSerieNf, Lote, RetEnt.TpEmis.ToString(), docTran.OuterXml, RetEnt.CdFornecedor);
                                ObjModNfe.UpdateNfTpEmisVersaoNFe(RetEnt.TpEmis.ToString(), null, "3.10", Lote.ToString(), RetEnt.NotaFiscal.ToString(), RetEnt.Loja.ToString(), RetEnt.sSerieNf, RetEnt.CdFornecedor, Model_NotaFiscal.NotaFiscal.Entrada);
                            }
                        }
                        catch (Exception Ex)
                        {
                            Mensagem.MensagemErro(Mensagem.TipoMensagem.Nfe, "Entrada", Ex.Message.ToString());
                            ObjLote.UpdateXmlTpSaida(Loja, Nota, Serie, Lote, TpEmis.ToString(), docTran.OuterXml, Fornecedor);
                            ObjModNfe.UpdateNfErro(225, Loja, Serie, Nota, Fornecedor, Model_NotaFiscal.NotaFiscal.Entrada);
                            ObjLote.UpdateLoteErro(225, Loja, Serie, Nota, Fornecedor);
                            mLog.InsertErroLog("Erro Lote:" + Lote + ", Nota Fiscal Entrada:" + Serie + "-" + Nota + ". " + NFuncoes.TiraCampos(Ex.Message.ToString()));
                        }
                    }

                    if (CertEmpresa != null)
                    {
                        ObjNotaFiscal.TpAmbiente = FuncoesGerais.TipoAmbiente();
                        EnviarXml(docEnviNfe, CertEmpresa, ref ObjNotaFiscal);
                    }
                    objDados = null;
                }
                else
                {
                    objDados = null;
                }
            }

            objDados = null;
        }