Beispiel #1
0
        /// <summary>
        /// Cancela uma NFe
        /// </summary>
        /// <param name="nfeFacade"></param>
        /// <param name="dadosDoCancelamento">Dados para o cancelamento no formato: cnpj#justificativa#chave_de_acesso#protocolo#numero_lote#sequencia_evento</param>
        private static void CancelarNFe(NFeFacade nfeFacade, string dadosDoCancelamento)
        {
            #region Preparando dados
            var arrayStrDados = dadosDoCancelamento.Split('#');

            var strCnpj          = string.Empty;
            var strJustificativa = string.Empty;
            var strChaveAcesso   = string.Empty;
            var strProtocolo     = string.Empty;

            var   intNumeroLote      = 0;
            Int16 intSequenciaEvento = 0;

            try
            {
                strCnpj            = arrayStrDados[0];
                strJustificativa   = arrayStrDados[1];
                strChaveAcesso     = Convert.ToString(arrayStrDados[2]);
                strProtocolo       = Convert.ToString(arrayStrDados[3]);
                intNumeroLote      = Convert.ToInt32(arrayStrDados[4]);
                intSequenciaEvento = Convert.ToInt16(arrayStrDados[5]);
            }
            catch
            {
                Console.WriteLine("Um ou mais parâmetros estão incorretos.");
            }
            #endregion

            #region Cancelamento

            try
            {
                var booStatusOk = ConsultarStatusServico(nfeFacade);

                if (!booStatusOk)
                {
                    return;
                }

                Console.WriteLine("Executando o cancelamento...");
                var retornoCancelamento = nfeFacade.CancelarNFe(strCnpj, intNumeroLote, intSequenciaEvento, strChaveAcesso, strProtocolo, strJustificativa);
                Console.WriteLine("#InutilizacaoEfetuada#{0}", retornoCancelamento.Retorno.retEvento[0].infEvento.xMotivo);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Ocorreu um erro não esperado.");
                Console.WriteLine(string.Format("Detalhes:{0}", ex.Message));
            }

            #endregion
        }
Beispiel #2
0
        /// <summary>
        /// Cancela uma NFe
        /// </summary>
        /// <param name="nfeFacade"></param>
        /// <param name="dadosDoCancelamento">Dados para o cancelamento no formato: cnpj#justificativa#chave_de_acesso#protocolo#numero_lote#sequencia_evento</param>
        private static void CancelarNFe(NFeFacade nfeFacade, string dadosDoCancelamento)
        {
            #region Preparando dados
            var arrayStrDados = dadosDoCancelamento.Split('#');

            var strCnpj = string.Empty;
            var strJustificativa = string.Empty;
            var strChaveAcesso = string.Empty;
            var strProtocolo = string.Empty;
            
            var intNumeroLote = 0;
            Int16 intSequenciaEvento = 0;

            try
            {
                strCnpj = arrayStrDados[0];
                strJustificativa = arrayStrDados[1];
                strChaveAcesso = Convert.ToString(arrayStrDados[2]);
                strProtocolo = Convert.ToString(arrayStrDados[3]);
                intNumeroLote = Convert.ToInt32(arrayStrDados[4]);
                intSequenciaEvento = Convert.ToInt16(arrayStrDados[5]);
            }
            catch
            {
                Console.WriteLine("Um ou mais parâmetros estão incorretos.");
            }
            #endregion

            #region Cancelamento

            try
            {
                var booStatusOk = ConsultarStatusServico(nfeFacade);

                if (!booStatusOk)
                {
                    return;
                }

                Console.WriteLine("Executando o cancelamento...");
                var retornoCancelamento = nfeFacade.CancelarNFe(strCnpj, intNumeroLote, intSequenciaEvento, strChaveAcesso, strProtocolo, strJustificativa);
                Console.WriteLine("#InutilizacaoEfetuada#{0}", retornoCancelamento.Retorno.retEvento[0].infEvento.xMotivo);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Ocorreu um erro não esperado.");
                Console.WriteLine(string.Format("Detalhes:{0}", ex.Message));
            }

            #endregion
        }