Example #1
0
        public IdentificacaoNFe(CodigoUfIbge uf, DateTime dataHoraEmissao, string cnpjEmissor, Modelo modelo, int serie,
                                string numeroNFe, TipoEmissao tipoEmissao, Ambiente ambiente, Emissor emitente,
                                string naturezaOperacao,
                                FinalidadeEmissao finalidade, bool isImpressaoBobina, PresencaComprador indicadorPresenca,
                                string documentoDanfe)
        {
            _cnpjEmissor    = cnpjEmissor;
            UF              = uf;
            DataHoraEmissao = dataHoraEmissao;
            Modelo          = modelo;
            Serie           = serie;
            Numero          = numeroNFe;
            TipoEmissao     = tipoEmissao;
            Ambiente        = ambiente;

            Chave             = CalcularChaveSemDV();
            DigitoVerificador = CalcularDV(Chave);
            Chave            += DigitoVerificador;

            CodigoMunicipio      = emitente.Endereco.CodigoMunicipio;
            NaturezaOperacao     = naturezaOperacao;
            FinalidadeEmissao    = finalidade;
            TipoOperacao         = TipoOperacao.Saida;
            OperacaoDestino      = OperacaoDestino.Interna; //não suporta interestadual ainda
            FormatoImpressao     = isImpressaoBobina ? FormatoImpressao.Nfce : FormatoImpressao.Retrato;
            FinalidadeConsumidor = documentoDanfe.Contains("CPF") || Modelo == Modelo.Modelo65
                ? FinalidadeConsumidor.ConsumidorFinal
                : FinalidadeConsumidor.Normal;
            PresencaComprador = indicadorPresenca;
            ProcessoEmissao   = ProcessoEmissao.AplicativoContribuinte;
            VersaoAplicativo  = "0.0.0.1";
        }
Example #2
0
        /// <summary>
        /// Identificação para NFe v4.0
        /// </summary>
        /// <param name="config"></param>
        /// <param name="cNf"></param>
        /// <param name="natOp"></param>
        /// <param name="indPag"></param>
        /// <param name="mod"></param>
        /// <param name="serie"></param>
        /// <param name="nNf"></param>
        /// <param name="dEmi"></param>
        /// <param name="dSaiEnt"></param>
        /// <param name="dhEmi"></param>
        /// <param name="dhSaiEnt"></param>
        /// <param name="tpNf"></param>
        /// <param name="idDest"></param>
        /// <param name="tpImp"></param>
        /// <param name="tpEmis"></param>
        /// <param name="finNFe"></param>
        /// <param name="indFinal"></param>
        /// <param name="indPres"></param>
        /// <param name="versaoProcesso"></param>
        public IdentificacaoNFe40(Configurar config,
                                  string cNf, string natOp,
                                  ModeloDocumento mod, int serie, long nNf, DateTime dEmi,
                                  DateTime dSaiEnt, DateTimeOffset dhEmi, DateTimeOffset dhSaiEnt,
                                  TipoNFe tpNf, DestinoOperacao idDest, TipoImpressao tpImp,
                                  TipoEmissao tpEmis, FinalidadeNFe finNFe, ConsumidorFinal indFinal,
                                  PresencaComprador indPres, string versaoProcesso, DateTime?dhCont = null, string xJust = "")
        {
            var ide = new ide
            {
                cUF      = config.EmissorConfig.Estado,
                cNF      = cNf,
                natOp    = natOp,
                mod      = mod,
                serie    = serie,
                nNF      = nNf,
                dEmi     = dEmi,
                dSaiEnt  = dSaiEnt,
                dhEmi    = dhEmi,
                dhSaiEnt = dhSaiEnt,
                tpNF     = tpNf,
                idDest   = idDest,
                cMunFG   = config.EmissorConfig.Emitente.enderEmit.cMun,
                tpImp    = tpImp,
                tpEmis   = tpEmis,
                tpAmb    = config.EmissorConfig.Ambiente,
                finNFe   = finNFe,
                indFinal = indFinal,
                indPres  = indPres,
                verProc  = versaoProcesso
            };

            if (dhCont != null)
            {
                ide.dhCont = dhCont.Value;
            }
            if (xJust != null)
            {
                ide.xJust = xJust;
            }

            SetIde(ide);
        }