/// <summary> /// Inutiliza uma faixa de números /// </summary> /// <param name="cnpj"></param> /// <param name="ano"></param> /// <param name="modelo"></param> /// <param name="serie"></param> /// <param name="numeroInicial"></param> /// <param name="numeroFinal"></param> /// <param name="justificativa"></param> /// <returns>Retorna um objeto da classe RetornoNfeInutilizacao com o retorno do serviço NfeInutilizacao</returns> public RetornoNfeInutilizacao NfeInutilizacao(string cnpj, int ano, ModeloDocumento modelo, int serie, int numeroInicial, int numeroFinal, string justificativa) { var versaoServico = Auxiliar.VersaoServicoParaString(ServicoNFe.NfeInutilizacao, _cFgServico.VersaoNfeInutilizacao); #region Cria o objeto wdsl para consulta var ws = CriarServico(ServicoNFe.NfeInutilizacao, TipoRecepcaoEvento.Nenhum); ws.nfeCabecMsg = new nfeCabecMsg { cUF = _cFgServico.cUF, versaoDados = versaoServico }; #endregion #region Cria o objeto inutNFe var pedInutilizacao = new inutNFe { versao = versaoServico, infInut = new infInutEnv { tpAmb = _cFgServico.tpAmb, cUF = _cFgServico.cUF, ano = ano, CNPJ = cnpj, mod = modelo, serie = serie, nNFIni = numeroInicial, nNFFin = numeroFinal, xJust = justificativa } }; var numId = String.Concat((int)pedInutilizacao.infInut.cUF, pedInutilizacao.infInut.ano, pedInutilizacao.infInut.CNPJ, (int)pedInutilizacao.infInut.mod, pedInutilizacao.infInut.serie.ToString().PadLeft(3, '0'), pedInutilizacao.infInut.nNFIni.ToString().PadLeft(9, '0'), pedInutilizacao.infInut.nNFFin.ToString().PadLeft(9, '0')); pedInutilizacao.infInut.Id = "ID" + numId; pedInutilizacao.Assina(); #endregion #region Valida, Envia os dados e obtém a resposta var xmlInutilizacao = pedInutilizacao.ObterXmlString(); Validador.Valida(ServicoNFe.NfeInutilizacao, TipoRecepcaoEvento.Nenhum, _cFgServico.VersaoNfeInutilizacao, xmlInutilizacao); var dadosInutilizacao = new XmlDocument(); dadosInutilizacao.LoadXml(xmlInutilizacao); SalvarArquivoXml(numId + "-ped-inu.xml", xmlInutilizacao); var retorno = ws.Execute(dadosInutilizacao); var retornoXmlString = retorno.OuterXml; var retInutNFe = new retInutNFe().CarregarDeXmlString(retornoXmlString); SalvarArquivoXml(numId + "-inu.xml", retornoXmlString); return(new RetornoNfeInutilizacao(pedInutilizacao.ObterXmlString(), retInutNFe.ObterXmlString(), retornoXmlString, retInutNFe)); #endregion }