private static IdentificacaoNFe GetIdentificacao(NotaFiscalModel NotaFiscal, CodigoUfIbge codigoUF, DateTime now,
                                                         Emissor emitente, Modelo modeloNota,
                                                         int serie, string numeroNFe, TipoEmissao tipoEmissao, Ambiente ambiente, string documentoDanfe)
        {
            var finalidadeEmissao = (FinalidadeEmissao)Enum.Parse(typeof(FinalidadeEmissao), Acentuacao.RemoverAcentuacao(NotaFiscal.Finalidade));

            var identificacao = new IdentificacaoNFe(codigoUF, now, emitente.CNPJ, modeloNota, serie, numeroNFe,
                                                     tipoEmissao, ambiente, emitente,
                                                     NotaFiscal.NaturezaOperacao, finalidadeEmissao, NotaFiscal.IsImpressaoBobina,
                                                     NotaFiscal.IndicadorPresenca, documentoDanfe);

            return(identificacao);
        }
Esempio n. 2
0
        public NotaFiscal(Emissor emitente, Destinatario destinatario, IdentificacaoNFe identificacao,
                          Transporte transporte, TotalNFe totalNFe,
                          InfoAdicional infoAdicional, List <Produto> produtos, List <Pagamento> pagamentos = null, string xml = null)
        {
            Emitente     = emitente;
            Destinatario = destinatario;

            var codigoUF = (CodigoUfIbge)Enum.Parse(typeof(CodigoUfIbge), emitente.Endereco.UF);

            emitente.InscricaoMunicipal =
                codigoUF == CodigoUfIbge.DF ? emitente.InscricaoEstadual : emitente.InscricaoMunicipal;

            var documentoDanfe = Destinatario != null ? Destinatario.DocumentoDanfe : "CPF";

            Identificacao = identificacao;
            Pagamentos    = pagamentos;
            Transporte    = transporte;
            TotalNFe      = totalNFe;
            InfoAdicional = infoAdicional;
            Produtos      = produtos;
        }
Esempio n. 3
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";
        }