@@ -174,6 +174,109 @@ protected override void AssinarEnviar(RetornoEnviar retornoWebservice)
174174 retornoWebservice . XmlEnvio = XmlSigning . AssinarXml ( retornoWebservice . XmlEnvio , "ns4:EnviarLoteRpsEnvio" , "ns4:LoteRps" , Certificado ) ;
175175 }
176176
177+ protected override void PrepararConsultarLoteRps ( RetornoConsultarLoteRps retornoWebservice )
178+ {
179+ var loteBuilder = new StringBuilder ( ) ;
180+ loteBuilder . Append ( $ "<ConsultarLoteRpsEnvio { GetNamespace ( ) } >") ;
181+ loteBuilder . Append ( "<Prestador>" ) ;
182+ loteBuilder . Append ( "<CpfCnpj>" ) ;
183+ loteBuilder . Append ( Configuracoes . PrestadorPadrao . CpfCnpj . IsCNPJ ( )
184+ ? $ "<Cnpj>{ Configuracoes . PrestadorPadrao . CpfCnpj . ZeroFill ( 14 ) } </Cnpj>"
185+ : $ "<Cpf>{ Configuracoes . PrestadorPadrao . CpfCnpj . ZeroFill ( 11 ) } </Cpf>") ;
186+ loteBuilder . Append ( "</CpfCnpj>" ) ;
187+ if ( ! Configuracoes . PrestadorPadrao . InscricaoMunicipal . IsEmpty ( ) ) loteBuilder . Append ( $ "<InscricaoMunicipal>{ Configuracoes . PrestadorPadrao . InscricaoMunicipal } </InscricaoMunicipal>") ;
188+ loteBuilder . Append ( "</Prestador>" ) ;
189+ loteBuilder . Append ( $ "<Protocolo>{ retornoWebservice . Protocolo } </Protocolo>") ;
190+ loteBuilder . Append ( "</ConsultarLoteRpsEnvio>" ) ;
191+
192+ var xmlstring = loteBuilder . ToString ( ) . Replace ( "<?xml version=\" 1.0\" encoding=\" UTF-8\" standalone=\" no\" ?>" , "" ) ;
193+ XDocument doc = XDocument . Parse ( xmlstring ) ;
194+ XNamespace nsRoot = "http://www.giss.com.br/consultar-lote-rps-envio-v2_04.xsd" ;
195+ XNamespace nsChild = "http://www.giss.com.br/tipos-v2_04.xsd" ;
196+
197+ doc . Root . Name = nsRoot + doc . Root . Name . LocalName ;
198+
199+ doc . Root . SetAttributeValue ( XNamespace . Xmlns + "con" , nsRoot ) ;
200+ doc . Root . SetAttributeValue ( XNamespace . Xmlns + "tip" , nsChild ) ;
201+
202+ foreach ( var element in doc . Descendants ( ) . ToList ( ) )
203+ element . Name = nsChild + element . Name . LocalName ;
204+
205+ var loteRps = doc . Descendants ( ) . First ( x=> x . Name . LocalName == "Prestador" ) ;
206+ loteRps . Name = nsRoot + loteRps . Name . LocalName ;
207+ var protocolo = doc . Descendants ( ) . First ( x=> x . Name . LocalName == "Protocolo" ) ;
208+ protocolo . Name = nsRoot + protocolo . Name . LocalName ;
209+
210+ doc . Root . Name = nsRoot + doc . Root . Name . LocalName ;
211+
212+ var xml = "<?xml version=\" 1.0\" encoding=\" UTF-8\" ?>" + doc ;
213+
214+ retornoWebservice . XmlEnvio = xml ;
215+ }
216+
217+ /// <inheritdoc />
218+ protected override void AssinarConsultarLoteRps ( RetornoConsultarLoteRps retornoWebservice )
219+ {
220+ retornoWebservice . XmlEnvio = XmlSigning . AssinarXml ( retornoWebservice . XmlEnvio , "con:ConsultarLoteRpsEnvio" , "" , Certificado ) ;
221+ }
222+
223+ protected override void PrepararCancelarNFSe ( RetornoCancelar retornoWebservice )
224+ {
225+ if ( retornoWebservice . NumeroNFSe . IsEmpty ( ) || retornoWebservice . CodigoCancelamento . IsEmpty ( ) )
226+ {
227+ retornoWebservice . Erros . Add ( new Evento { Codigo = "AC0001" , Descricao = "Número da NFSe/Codigo de cancelamento não informado para cancelamento." } ) ;
228+ return ;
229+ }
230+
231+ var loteBuilder = new StringBuilder ( ) ;
232+
233+ loteBuilder . Append ( $ "<CancelarNfseEnvio { GetNamespace ( ) } >") ;
234+ loteBuilder . Append ( "<Pedido>" ) ;
235+ loteBuilder . Append ( $ "<InfPedidoCancelamento Id=\" N{ retornoWebservice . NumeroNFSe } \" >") ;
236+ loteBuilder . Append ( "<IdentificacaoNfse>" ) ;
237+ loteBuilder . Append ( $ "<Numero>{ retornoWebservice . NumeroNFSe } </Numero>") ;
238+ loteBuilder . Append ( "<CpfCnpj>" ) ;
239+ loteBuilder . Append ( Configuracoes . PrestadorPadrao . CpfCnpj . IsCNPJ ( )
240+ ? $ "<Cnpj>{ Configuracoes . PrestadorPadrao . CpfCnpj . ZeroFill ( 14 ) } </Cnpj>"
241+ : $ "<Cpf>{ Configuracoes . PrestadorPadrao . CpfCnpj . ZeroFill ( 11 ) } </Cpf>") ;
242+ loteBuilder . Append ( "</CpfCnpj>" ) ;
243+ if ( ! Configuracoes . PrestadorPadrao . InscricaoMunicipal . IsEmpty ( ) ) loteBuilder . Append ( $ "<InscricaoMunicipal>{ Configuracoes . PrestadorPadrao . InscricaoMunicipal } </InscricaoMunicipal>") ;
244+ loteBuilder . Append ( $ "<CodigoMunicipio>{ Configuracoes . PrestadorPadrao . Endereco . CodigoMunicipio } </CodigoMunicipio>") ;
245+ loteBuilder . Append ( "</IdentificacaoNfse>" ) ;
246+ loteBuilder . Append ( $ "<CodigoCancelamento>{ retornoWebservice . CodigoCancelamento } </CodigoCancelamento>") ;
247+ loteBuilder . Append ( "</InfPedidoCancelamento>" ) ;
248+ loteBuilder . Append ( "</Pedido>" ) ;
249+ loteBuilder . Append ( "</CancelarNfseEnvio>" ) ;
250+ var xmlstring = loteBuilder . ToString ( ) . Replace ( "<?xml version=\" 1.0\" encoding=\" UTF-8\" standalone=\" no\" ?>" , "" ) ;
251+ XDocument doc = XDocument . Parse ( xmlstring ) ;
252+
253+ XNamespace nsRoot = "http://www.giss.com.br/cancelar-nfse-envio-v2_04.xsd" ;
254+ XNamespace nsChild = "http://www.giss.com.br/tipos-v2_04.xsd" ;
255+
256+ doc . Root . Name = nsRoot + doc . Root . Name . LocalName ;
257+
258+ doc . Root . SetAttributeValue ( XNamespace . Xmlns + "can" , nsRoot ) ;
259+ doc . Root . SetAttributeValue ( XNamespace . Xmlns + "tip" , nsChild ) ;
260+
261+ foreach ( var element in doc . Descendants ( ) . ToList ( ) )
262+ element . Name = nsChild + element . Name . LocalName ;
263+
264+ var pedido = doc . Descendants ( ) . First ( x=> x . Name . LocalName == "Pedido" ) ;
265+ pedido . Name = nsRoot + pedido . Name . LocalName ;
266+
267+ doc . Root . Name = nsRoot + doc . Root . Name . LocalName ;
268+
269+ var xml = "<?xml version=\" 1.0\" encoding=\" UTF-8\" ?>" + doc ;
270+
271+ retornoWebservice . XmlEnvio = xml ;
272+ }
273+
274+ /// <inheritdoc />
275+ protected override void AssinarCancelarNFSe ( RetornoCancelar retornoWebservice )
276+ {
277+ retornoWebservice . XmlEnvio = XmlSigning . AssinarXml ( retornoWebservice . XmlEnvio , "can:Pedido" , "tip:InfPedidoCancelamento" , Certificado ) ;
278+ }
279+
177280 /// <inheritdoc />
178281 protected override void TratarRetornoEnviarSincrono ( RetornoEnviar retornoWebservice ,
179282 NotaServicoCollection notas )
0 commit comments