internal static TNFeInfNFeDest GetDestinatario(NotaFiscal notaFiscal) { var dest = new TNFeInfNFeDest(); dest.Item = notaFiscal.Destinatario.Documento; switch (notaFiscal.Destinatario.TipoDestinatario) { case TipoDestinatario.PessoaFisica: dest.ItemElementName = ItemChoiceType3.CPF; break; case TipoDestinatario.PessoaJuridica: dest.ItemElementName = ItemChoiceType3.CNPJ; break; case TipoDestinatario.Estrangeiro: dest.ItemElementName = ItemChoiceType3.idEstrangeiro; break; } dest.xNome = notaFiscal.Destinatario.NomeRazao; if (notaFiscal.Destinatario.IsIsentoICMS) { dest.indIEDest = TNFeInfNFeDestIndIEDest.Item2; } else if (notaFiscal.Identificacao.Modelo == Modelo.Modelo65) { dest.indIEDest = TNFeInfNFeDestIndIEDest.Item9; } else { dest.indIEDest = TNFeInfNFeDestIndIEDest.Item1; } dest.IE = notaFiscal.Destinatario.InscricaoEstadual; dest.email = notaFiscal.Destinatario.Email; if (notaFiscal.Destinatario.Endereco != null) { dest.enderDest = new TEndereco(); dest.enderDest.xLgr = notaFiscal.Destinatario.Endereco.Logradouro; dest.enderDest.nro = notaFiscal.Destinatario.Endereco.Numero; dest.enderDest.xBairro = notaFiscal.Destinatario.Endereco.Bairro; dest.enderDest.cMun = notaFiscal.Destinatario.Endereco.CodigoMunicipio; dest.enderDest.xMun = notaFiscal.Destinatario.Endereco.Municipio; dest.enderDest.UF = TUfDestConversor.TUf(notaFiscal.Destinatario.Endereco.UF); dest.enderDest.CEP = notaFiscal.Destinatario.Endereco.Cep; dest.enderDest.cPais = "1058"; dest.enderDest.xPais = "Brasil"; dest.enderDest.fone = notaFiscal.Destinatario.Telefone; } return(dest); }
private Destinatario GetDestinatario(Retorno.TNFe nfe) { var nfeDest = nfe.infNFe.dest; if (nfeDest == null) { return(null); } TipoDestinatario tipoDestinatario; switch (nfeDest.ItemElementName) { case Retorno.ItemChoiceType3.CPF: tipoDestinatario = TipoDestinatario.PessoaFisica; break; case Retorno.ItemChoiceType3.CNPJ: tipoDestinatario = TipoDestinatario.PessoaJuridica; break; case Retorno.ItemChoiceType3.idEstrangeiro: tipoDestinatario = TipoDestinatario.Estrangeiro; break; default: throw new ArgumentOutOfRangeException(); } if (nfeDest.enderDest != null) { var uf = TUfDestConversor.ToUfString((TUf)(int)nfeDest.enderDest.UF); var endereco = new Endereco(nfeDest.enderDest.xLgr, nfeDest.enderDest.nro, nfeDest.enderDest.xBairro, nfeDest.enderDest.xMun, nfeDest.enderDest.CEP, uf); var ambiente = (Ambiente)(int)nfe.infNFe.ide.tpAmb; var modelo = nfe.infNFe.ide.mod == Retorno.TMod.Item55 ? Modelo.Modelo55 : Modelo.Modelo65; return(new Destinatario(ambiente, modelo, nfeDest.enderDest.fone, nfeDest.email, endereco, tipoDestinatario, nfeDest.IE, nomeRazao: nfeDest.xNome, documento: nfeDest.Item)); } else { var ambiente = (Ambiente)(int)nfe.infNFe.ide.tpAmb; var modelo = nfe.infNFe.ide.mod == Retorno.TMod.Item55 ? Modelo.Modelo55 : Modelo.Modelo65; return(new Destinatario(ambiente, modelo, null, nfeDest.email, null, tipoDestinatario, nfeDest.IE, nomeRazao: nfeDest.xNome, documento: nfeDest.Item)); } }