Exemple #1
0
        public void DeserilizarEvento(object obj, ref Entidade_NotaFiscal objDes)
        {
            fGeral      = new FuncoesGerais();
            mNotaFiscal = new Model_NotaFiscal();

            mCartaEletronica = new Model_CCe();

            object objRet = new object();

            retXmlNodeReader = new XmlNodeReader((XmlNode)obj);
            xmlDesSerializar = new XmlSerializer(typeof(retConsSitNFe.TRetConsSitNFe));

            objRet = xmlDesSerializar.Deserialize(retXmlNodeReader);

            var Ret = (retConsSitNFe.TRetConsSitNFe)objRet;

            if (Ret.protNFe != null)
            {
                if (Ret.protNFe.infProt.cStat == "100")
                {
                    if (objDes.TpNfe == "E")
                    {
                        mNotaFiscal.UpdateNfRetornoAutorizado(Convert.ToInt32(Ret.protNFe.infProt.cStat), Ret.protNFe.infProt.nProt, objDes.Loja, objDes.ChaveAcessoNfe, Model_NotaFiscal.NotaFiscal.Entrada);
                    }
                    else
                    {
                        mNotaFiscal.UpdateNfRetornoAutorizado(Convert.ToInt32(Ret.protNFe.infProt.cStat), Ret.protNFe.infProt.nProt, objDes.Loja, objDes.ChaveAcessoNfe, Model_NotaFiscal.NotaFiscal.Saida);
                    }

                    fGeral.TramitacaoNfe(FuncoesGerais.TipoTramitacao.AutorizacaoNFe, eNotaFiscal.Loja, eNotaFiscal.NotaFiscal, eNotaFiscal.sSerieNf, eNotaFiscal.CdFornecedor);
                }
                else if (Ret.protNFe.infProt.cStat == "101" || Ret.protNFe.infProt.cStat == "102")
                {
                    if (objDes.TpNfe == "E")
                    {
                        mNotaFiscal.UpdateNfInutilizacaoCancelamento(Convert.ToInt32(Ret.protNFe.infProt.cStat), Ret.protNFe.infProt.nProt, objDes.Loja, objDes.ChaveAcessoNfe, Model_NotaFiscal.NotaFiscal.Entrada);
                    }
                    else
                    {
                        mNotaFiscal.UpdateNfInutilizacaoCancelamento(Convert.ToInt32(Ret.protNFe.infProt.cStat), Ret.protNFe.infProt.nProt, objDes.Loja, objDes.ChaveAcessoNfe, Model_NotaFiscal.NotaFiscal.Saida);
                    }

                    fGeral.TramitacaoNfe(FuncoesGerais.TipoTramitacao.Inutilizacao, eNotaFiscal.Loja, eNotaFiscal.NotaFiscal, eNotaFiscal.sSerieNf, eNotaFiscal.CdFornecedor);
                }
                else
                {
                    if (objDes.TpNfe == "E")
                    {
                        mNotaFiscal.UpdateNfRetorno(Convert.ToInt32(Ret.protNFe.infProt.cStat), Ret.protNFe.infProt.nProt, objDes.Loja, objDes.ChaveAcessoNfe, Model_NotaFiscal.NotaFiscal.Entrada);
                    }
                    else
                    {
                        mNotaFiscal.UpdateNfRetorno(Convert.ToInt32(Ret.protNFe.infProt.cStat), Ret.protNFe.infProt.nProt, objDes.Loja, objDes.ChaveAcessoNfe, Model_NotaFiscal.NotaFiscal.Saida);
                    }

                    fGeral.TramitacaoNfe(FuncoesGerais.TipoTramitacao.Indefinido, eNotaFiscal.Loja, eNotaFiscal.NotaFiscal, eNotaFiscal.sSerieNf, eNotaFiscal.CdFornecedor);
                }

                int ddd = Ret.procEventoNFe.Count();
                if (Ret.procEventoNFe.Count() > 0)
                {
                    foreach (var EventoNfe in Ret.procEventoNFe)
                    {
                        mCartaEletronica.UpdateRetornoCCeConsSit(Convert.ToInt32(EventoNfe.evento.infEvento.nSeqEvento), Convert.ToInt32(EventoNfe.retEvento.infEvento.cStat), EventoNfe.retEvento.infEvento.chNFe);
                    }
                }
            }

            string cdret = Ret.cStat;
        }