public TRetInutNFe Inutilizar(int inicio, int final, int serie, string justificativa) { if (Configuracao == null) { return(null); } if (String.IsNullOrEmpty(Configuracao.CodUF.ToString())) { return(null); } if (String.IsNullOrEmpty(Configuracao.Versao)) { return(null); } var inutilizacao = new TInutNFe { infInut = { ano = DateTime.Now.Year.ToString(_ptBr), CNPJ = Configuracao.Emitente.Item, mod = ModeloDocumento.NFe, serie = serie.ToString(_ptBr), nNFIni = inicio.ToString(_ptBr), nNFFin = final.ToString(_ptBr) } }; var chave = new StringBuilder(); chave.Append(Configuracao.CodUF); chave.Append(inutilizacao.infInut.ano); chave.Append(inutilizacao.infInut.CNPJ); chave.Append(inutilizacao.infInut.mod); chave.Append(string.Format("{0:000}", Convert.ToInt32(inutilizacao.infInut.serie))); chave.Append(string.Format("{0:000000000}", Convert.ToInt32(inutilizacao.infInut.nNFIni))); chave.Append(string.Format("{0:000000000}", Convert.ToInt32(inutilizacao.infInut.nNFFin))); inutilizacao.infInut.Id = string.Format("ID{0}", chave); inutilizacao.infInut.xServ = TInutNFeInfInutXServ.INUTILIZAR; inutilizacao.infInut.xJust = justificativa; return(Inutilizar(inutilizacao)); }
public TRetInutNFe InutilizaNumeracao(TInutNFe InutNFe, X509Certificate2 pCertificado, TAmb ambiente) { C_WebService.ListaUrl listaURL = default(C_WebService.ListaUrl); string arqRetInut = _PastaLog + InutNFe.infInut.ano + InutNFe.infInut.CNPJ + InutNFe.infInut.mod + InutNFe.infInut.serie + InutNFe.infInut.nNFIni + InutNFe.infInut.nNFFin + "-inu.xml"; string arqPedInut = _PastaLog + InutNFe.infInut.cUF + InutNFe.infInut.ano + InutNFe.infInut.CNPJ + InutNFe.infInut.mod + InutNFe.infInut.serie + InutNFe.infInut.nNFIni + InutNFe.infInut.nNFFin + "-ped-inu.xml"; listaURL = WsUrls.BuscaURL(InutNFe.infInut.cUF, ambiente); XmlDocument xmldoc = new XmlDocument(); xmldoc.LoadXml(Funcoes.RemoveNameSpaceFromXml(InutNFe.Serialize())); xmldoc = CertificadoDigital.Assinar(xmldoc, "infInut", pCertificado); xmldoc.Save(arqPedInut); try { Inutilizacao2.nfeCabecMsg cab = new Inutilizacao2.nfeCabecMsg(); Inutilizacao2.NfeInutilizacao2 wsMsg = default(Inutilizacao2.NfeInutilizacao2); // UF E VERSÃO DO CABEÇALHO cab.cUF = PegarCodigoUF(InutNFe.infInut.cUF); cab.versaoDados = InutNFe.versao; //CABEÇALHO USADA PARA ENVIO DE LOTE wsMsg = new Inutilizacao2.NfeInutilizacao2(listaURL.UrlNfeInutilizacao); wsMsg.nfeCabecMsgValue = cab; wsMsg.Timeout = 100000; wsMsg.ClientCertificates.Add(pCertificado); wsMsg.SoapVersion = SoapProtocolVersion.Soap12; //RETORNO DA SEFAZ XmlNode strRetorno = wsMsg.nfeInutilizacaoNF2(xmldoc); XmlDocument xmlRetorno = new XmlDocument(); xmlRetorno.LoadXml(strRetorno.OuterXml); xmlRetorno.Save(arqRetInut); TRetInutNFe retInutNFe = new TRetInutNFe(); retInutNFe = TRetInutNFe.LoadFromFile(arqRetInut); return(retInutNFe); } catch (Exception ex) { throw new System.InvalidOperationException("Erro ao inutilizar numeração. Erro: " + ex.Message); } }
private TRetInutNFe Inutilizar(TInutNFe inutilizacao) { var ws = new C_WebService(Configuracao.PastaLog); return(ws.InutilizaNumeracao(inutilizacao, Certificado, Configuracao.Ambiente)); }
private XmlDocument GerarXml(string v, X509Certificate2 certificado) { XmlDocument xmlInutNFe = new XmlDocument(); xmlInutNFe.LoadXml(SOAP_Envelopes.NFE_Inutirilizacao); TInutNFe inutNFe = new TInutNFe(); TInutNFeInfInut infInput = inutNFe.infInut = new TInutNFeInfInut(); string cUF = string.Format("Item{0}", "43"); infInput.cUF = (TCodUfIBGE)Enum.Parse(typeof(TCodUfIBGE), cUF); infInput.ano = DateTime.Now.ToString("yy"); string chave = "43" + DateTime.Now.ToString("yy") + textCNPJ.Text + "55" + textSerie.Text + text1.Text.PadLeft(9, '0') + text2.Text.PadLeft(9, '0'); //Identificador da TAG a ser assinada formada com //Código da UF + Ano (2 posições) + CNPJ + modelo + série + nro inicial e nro final precedida do literal “ID” string id = string.Format("ID{0}", chave); infInput.Id = id; string cnpj = textCNPJ.Text; infInput.CNPJ = cnpj.PadLeft(14, '0'); //PadLeft é desnecessário, mas por segurança estou usando. string mod = string.Format("Item{0}", "55"); infInput.mod = (TMod)Enum.Parse(typeof(TMod), mod); //infInput.mod = TMod.Item55; infInput.nNFFin = text2.Text; infInput.nNFIni = text1.Text; string serie = textSerie.Text; int serieNum = Convert.ToInt32(serie); infInput.serie = serieNum.ToString(); string tpAmb = string.Format("Item{0}", "1"); infInput.tpAmb = (TAmb)Enum.Parse(typeof(TAmb), tpAmb); infInput.xJust = textJust.Text; infInput.xServ = TInutNFeInfInutXServ.INUTILIZAR; XmlDocument xmlNFE = Serializacao.Serializar <TInutNFe>(inutNFe); XmlElement xmlAssinatura = AssinarXML.AssinarXmlNfe(xmlNFE, "infInut", certificado); XmlNode nodeInutNFe = xmlInutNFe.GetElementsByTagName("inutNFe")[0]; if (nodeInutNFe != null) { nodeInutNFe.InnerXml = xmlNFE.GetElementsByTagName("infInut")[0].OuterXml; nodeInutNFe.InnerXml += xmlAssinatura.OuterXml; } return(xmlInutNFe); }