示例#1
0
        public Core.RespostaCancelamentoNfse CancelarNfse(Layouts.Betha.CancelarNfseEnvio envioCancelamento, Core.Empresa empresa, Core.ArquivosEnvio localArquivos)
        {
            try
            {
                ValidarCaminhos(localArquivos);
                var serializar = new Layouts.Serializador();
                serializar.SalvarXml <Layouts.Betha.CancelarNfseEnvio>(envioCancelamento, localArquivos.SalvarCancelarNfseEnvioEm);

                var envio = new NFSE.Net.Envio.Processar();
                ExecutarConsultas(() =>
                {
                    envio.ProcessaArquivo(empresa, localArquivos.SalvarCancelarNfseEnvioEm, localArquivos.SalvarCancelarNfseRespostaEm, Servicos.CancelarNfse);
                });

                bool erro = false;
                var  respostaEnvioLote = serializar.TryLerXml <Layouts.Betha.CancelarNfseReposta>(localArquivos.SalvarCancelarNfseRespostaEm, out erro);
                if (respostaEnvioLote != null)
                {
                    if (respostaEnvioLote.Item is ListaMensagemRetorno)
                    {
                        var retorno = new Core.RespostaCancelamentoNfse();
                        ListaMensagemRetorno mensagensErro = (ListaMensagemRetorno)respostaEnvioLote.Item;
                        retorno.Sucesso      = false;
                        retorno.CodigoErro   = mensagensErro.MensagemRetorno[0].Codigo;
                        retorno.Correcao     = mensagensErro.MensagemRetorno[0].Correcao;
                        retorno.MensagemErro = mensagensErro.MensagemRetorno[0].Mensagem;
                        return(retorno);
                    }
                    else
                    {
                        var retorno = new Core.RespostaCancelamentoNfse();
                        tcCancelamentoNfse cancelamento = (tcCancelamentoNfse)respostaEnvioLote.Item;
                        retorno.Sucesso = cancelamento.Confirmacao.InfConfirmacaoCancelamento.Sucesso;
                        retorno.DataHoraCancelamento = cancelamento.Confirmacao.InfConfirmacaoCancelamento.DataHora;
                        retorno.NumeroNfse           = cancelamento.Confirmacao.Pedido.InfPedidoCancelamento.IdentificacaoNfse.Numero;
                        return(retorno);
                    }
                }
                else
                {
                    return new Core.RespostaCancelamentoNfse()
                           {
                               Sucesso = false, CodigoErro = "00", MensagemErro = "Erro desconhecido"
                           }
                };
            }
            catch (System.Reflection.TargetInvocationException e)
            {
                throw e.InnerException;
            }
        }
示例#2
0
        private void button9_Click(object sender, EventArgs e)
        {
            try
            {
                var empresa       = RetornaEmpresa(false);
                var localArquivos = Core.ArquivosEnvio.GerarCaminhos("", @"C:\NotasEletronicas\30-JeF DISTRIBUIDORA DE\nfse\cancelamento");

                var envio = new Envio.EnvioCompleto();

                Layouts.Betha.CancelarNfseEnvio nfseCancelar = new Layouts.Betha.CancelarNfseEnvio();
                nfseCancelar.Pedido = new Layouts.Betha.tcPedidoCancelamento();
                nfseCancelar.Pedido.InfPedidoCancelamento = new Layouts.Betha.tcInfPedidoCancelamento();
                nfseCancelar.Pedido.InfPedidoCancelamento.CodigoCancelamento = "123";
                nfseCancelar.Pedido.InfPedidoCancelamento.Id = "123";
                nfseCancelar.Pedido.InfPedidoCancelamento.IdentificacaoNfse                    = new Layouts.Betha.tcIdentificacaoNfse();
                nfseCancelar.Pedido.InfPedidoCancelamento.IdentificacaoNfse.Cnpj               = "03657739000169";
                nfseCancelar.Pedido.InfPedidoCancelamento.IdentificacaoNfse.CodigoMunicipio    = 4204202;
                nfseCancelar.Pedido.InfPedidoCancelamento.IdentificacaoNfse.InscricaoMunicipal = "4545";
                nfseCancelar.Pedido.InfPedidoCancelamento.IdentificacaoNfse.Numero             = "125456";

                var resposta = envio.CancelarNfse(nfseCancelar, empresa, localArquivos);

                if (resposta.Sucesso)
                {
                    MessageBox.Show(resposta.DataHoraCancelamento.ToLongDateString());
                }
                else
                {
                    MessageBox.Show(resposta.CodigoErro + " - " + resposta.MensagemErro + " - " + resposta.Correcao);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }