示例#1
0
        private Tide ObterIde(ComandoTransmitir comandoTransmitir)
        {
            var identificacaoRps = new TIdentificacaoRps(comandoTransmitir.TDFe.Tide.FIdentificacaoRps.FAmbiente)
            {
                FNumero = comandoTransmitir.TDFe.Tide.FIdentificacaoRps.FNumero,
                FSerie  = comandoTransmitir.TDFe.Tide.FIdentificacaoRps.FSerie,
                FTipo   = 1 //RPS
            };

            var ide = new Tide
            {
                FIdentificacaoRps         = identificacaoRps,
                FNumeroLote               = comandoTransmitir.TDFe.Tide.FNumeroLote,
                FnProtocolo               = comandoTransmitir.TDFe.Tide.FnProtocolo,
                DataEmissao               = comandoTransmitir.TDFe.Tide.DataEmissao,
                DataEmissaoRps            = comandoTransmitir.TDFe.Tide.DataEmissaoRps,
                FNaturezaOperacao         = comandoTransmitir.TDFe.Tide.FNaturezaOperacao,
                FRegimeEspecialTributacao = comandoTransmitir.TDFe.Tide.FRegimeEspecialTributacao,
                FOptanteSimplesNacional   = comandoTransmitir.TDFe.Tide.FOptanteSimplesNacional,
                FIncentivadorCultural     = comandoTransmitir.TDFe.Tide.FIncentivadorCultural,
                FStatus                = comandoTransmitir.TDFe.Tide.FStatus,
                FOutrasInformacoes     = comandoTransmitir.TDFe.Tide.FOutrasInformacoes,
                _FMsgGeradaPeloSistema = comandoTransmitir.TDFe.Tide._FMsgGeradaPeloSistema,
                _FMsgComplementares    = comandoTransmitir.TDFe.Tide._FMsgComplementares
            };

            return(ide);
        }
        public HttpResponseMessage ConsultarNfse(ComandoTransmitir comando)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var provedor = comando.TDFe.TProvedor;

                    var nota = new FrgNFSe(provedor)
                    {
                        Documento = comando
                    };

                    XmlDocument xml = null;
                    xml = nota.GerarXmlConsulta(comando.FNumeroNF, comando.FDataEmissao);
                    XmlDocument xmlAux = Util.EncodingXML(xml);

                    //chamarservico
                    AplicacaoServiceNFSe aplicacao = new AplicacaoServiceNFSe(xmlAux, "ConsultarNfse", comando, provedor);
                    aplicacao.CarregarDados();
                    var ret = aplicacao.ExecutaMetodo();
                    //retornar resposta
                    var resultadoOperacao = nota.LerRetorno(ret, EnumOperacao.Consulta);

                    return(Request.CreateResponse <RetornoTransmitir>(HttpStatusCode.OK, resultadoOperacao));
                }

                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
            catch (System.Exception erro)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, erro.Message));
            }
        }
        public HttpResponseMessage ConsultarStLote(ComandoTransmitir comando)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var provedor = comando.TDFe.TProvedor;

                    var nota = new FrgNFSe(provedor)
                    {
                        Documento = comando
                    };

                    XmlDocument xml = null;
                    xml = nota.GerarXmlConsulta(nota.Documento.TDFe.Tide.FNumeroLote);

                    XmlDocument xmlAux = Util.EncodingXML(xml);

                    var retornoXml = xmlAux.OuterXml;

                    return(Request.CreateResponse <string>(HttpStatusCode.OK, retornoXml));
                }

                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
            catch (System.Exception erro)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, erro.Message));
            }
        }
        public HttpResponseMessage CancelarNfse(ComandoTransmitir comando)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var provedor = comando.TDFe.TProvedor;

                    var nota = new FrgNFSe(provedor)
                    {
                        Documento = comando
                    };

                    XmlDocument xml = null;

                    switch (provedor)
                    {
                    case EnumProvedor.DSF:
                    case EnumProvedor.CECAM:
                        xml = nota.GerarXmlCancelaNota(comando.FNumeroNF, comando.FCodigoCancelamento.ToString(), nota.Documento.TDFe.Tide.FNumeroLote, comando.FCodigoVerificacao);
                        break;

                    case EnumProvedor.Paulistana:
                    case EnumProvedor.Metropolis:
                    case EnumProvedor.Thema:
                    case EnumProvedor.BHISS:
                    case EnumProvedor.IssOnline:
                    case EnumProvedor.Natalense:
                    case EnumProvedor.CARIOCA:
                    case EnumProvedor.PRONIM:
                        xml = nota.GerarXmlCancelaNota(comando.FNumeroNF);
                        break;

                    case EnumProvedor.Goiania:
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "err007003"));

                    default:
                        xml = nota.GerarXmlCancelaNota(comando.FNumeroNF, comando.FCodigoCancelamento.ToString());
                        break;
                    }

                    XmlDocument xmlAux = Util.EncodingXML(xml);

                    AplicacaoServiceNFSe aplicacao = new AplicacaoServiceNFSe(xmlAux, "CancelarNfse", comando, provedor);
                    aplicacao.CarregarDados();
                    var retCanc = aplicacao.ExecutaMetodo();

                    var resultadoOperacao = nota.LerRetorno(retCanc, EnumOperacao.Cancela);

                    return(Request.CreateResponse <RetornoTransmitir>(HttpStatusCode.OK, resultadoOperacao));
                }

                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
            catch (System.Exception erro)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, erro.Message));
            }
        }
示例#5
0
        public AplicacaoServiceNFSe(XmlDocument documento, string metodo, ComandoTransmitir comandoTransmitir, EnumProvedor enumProvedor)
        {
            _documento = documento;
            _metodo    = metodo;

            _comandoTransmitir = new ComandoTransmitir
            {
                FnTerminal = comandoTransmitir.FnTerminal,
                TDFe       = new TDFe
                {
                    Tide               = ObterIde(comandoTransmitir),
                    TServico           = comandoTransmitir.TDFe.TServico,
                    TCondicaoPagamento = comandoTransmitir.TDFe.TCondicaoPagamento,
                    TPrestador         = comandoTransmitir.TDFe.TPrestador,
                    TTomador           = comandoTransmitir.TDFe.TTomador,
                    _TCertificado      = comandoTransmitir.TDFe._TCertificado,
                }
            };

            _enumProvedor = enumProvedor;
        }