Beispiel #1
0
        /// <summary>
        /// Inutiliza uma faixa de numeração de NFe.
        /// </summary>
        /// <param name="nfeFacade"></param>
        /// <param name="dadosDaInutilizacao">String composta no seguinte formato: ano#cnpj#justificativa#numero_inicial#numero_final#serie</param>
        private static void InutilizarNumeracao(NFeFacade nfeFacade, string dadosDaInutilizacao)
        {
            #region Preparando dados
            var arrayStrDados = dadosDaInutilizacao.Split('#');

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

            var intNumeroInicial = 0;
            var intNumeroFinal   = 0;
            var intSerie         = 0;
            var intAno           = 0;

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

            #region Inutilização

            try
            {
                var booStatusOk = ConsultarStatusServico(nfeFacade);

                if (!booStatusOk)
                {
                    return;
                }

                Console.WriteLine("Executando a inutilização...");
                var retornoInutilizacao = nfeFacade.InutilizarNumeracao(intAno, strCnpj, strJustificativa, intNumeroInicial, intNumeroFinal, intSerie);

                if (retornoInutilizacao.Retorno.infInut.cStat == 102)
                {
                    Console.WriteLine("#InutilizacaoEfetuada#{0}", retornoInutilizacao.Retorno.infInut.nProt);
                }
                else
                {
                    Console.WriteLine("#Erro#{0}", retornoInutilizacao.Retorno.infInut.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>
        /// Inutiliza uma faixa de numeração de NFe.
        /// </summary>
        /// <param name="nfeFacade"></param>
        /// <param name="dadosDaInutilizacao">String composta no seguinte formato: ano#cnpj#justificativa#numero_inicial#numero_final#serie</param>
        private static void InutilizarNumeracao(NFeFacade nfeFacade, string dadosDaInutilizacao)
        {
            #region Preparando dados
            var arrayStrDados = dadosDaInutilizacao.Split('#');

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

            var intNumeroInicial = 0;
            var intNumeroFinal = 0;
            var intSerie = 0;
            var intAno = 0;

            try
            {

                strCnpj = arrayStrDados[1];
                strJustificativa = arrayStrDados[2];
                intNumeroInicial = Convert.ToInt32(arrayStrDados[3]);
                intNumeroFinal = Convert.ToInt32(arrayStrDados[4]);
                intSerie = Convert.ToInt32(arrayStrDados[5]);
                intAno = Convert.ToInt16(arrayStrDados[0]);
            }
            catch
            {
                Console.WriteLine("Um ou mais parâmetros estão incorretos.");
            }
            #endregion

            #region Inutilização

            try
            {
                var booStatusOk = ConsultarStatusServico(nfeFacade);

                if (!booStatusOk)
                {
                    return;
                }

                Console.WriteLine("Executando a inutilização...");
                var retornoInutilizacao = nfeFacade.InutilizarNumeracao(intAno, strCnpj, strJustificativa, intNumeroInicial, intNumeroFinal, intSerie);

                if(retornoInutilizacao.Retorno.infInut.cStat == 102)
                {
                    Console.WriteLine("#InutilizacaoEfetuada#{0}",retornoInutilizacao.Retorno.infInut.nProt);
                }
                else
                {
                    Console.WriteLine("#Erro#{0}", retornoInutilizacao.Retorno.infInut.xMotivo);
                }
            }
            catch(Exception ex)
            {
                Console.WriteLine("Ocorreu um erro não esperado.");
                Console.WriteLine(string.Format("Detalhes:{0}",ex.Message));
            }

            #endregion
        }