private static Destinatario GetDestinatario(NotaFiscalModel notaFiscal, Ambiente ambiente, Modelo _modelo) { if (notaFiscal.DestinatarioSelecionado.Documento == null && string.IsNullOrEmpty(notaFiscal.Documento)) { return(null); } string documento, nomeRazao, inscricaoEstadual = null; DestinatarioModel destinatarioSelecionado = null; Endereco endereco = null; if (notaFiscal.DestinatarioSelecionado.Documento != null) { destinatarioSelecionado = notaFiscal.DestinatarioSelecionado; if (notaFiscal.DestinatarioSelecionado.Endereco.Logradouro != null) { var enderecoModel = notaFiscal.DestinatarioSelecionado.Endereco; endereco = new Endereco(enderecoModel.Logradouro, enderecoModel.Numero, enderecoModel.Bairro, enderecoModel.Municipio, enderecoModel.CEP, enderecoModel.UF); } inscricaoEstadual = notaFiscal.DestinatarioSelecionado?.InscricaoEstadual; documento = notaFiscal.DestinatarioSelecionado.Documento; nomeRazao = notaFiscal.DestinatarioSelecionado.NomeRazao; } else { documento = notaFiscal.Documento; nomeRazao = "CONSUMIDOR NÃO IDENTIFICADO"; } TipoDestinatario tipoDestinatario; if (notaFiscal.IsEstrangeiro) { tipoDestinatario = TipoDestinatario.Estrangeiro; } else if (documento.Length == 11) { tipoDestinatario = TipoDestinatario.PessoaFisica; } else { tipoDestinatario = TipoDestinatario.PessoaJuridica; } var destinatario = new Destinatario(ambiente, _modelo, destinatarioSelecionado?.Telefone, destinatarioSelecionado?.Email, endereco, tipoDestinatario, inscricaoEstadual, documento: documento, nomeRazao: nomeRazao); return(destinatario); }
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; }