//Construtor
        public PessoaFisicaDto(PessoaFisica pessoaFisica)
        {
            PessoaId = pessoaFisica.PessoaId;
            Cpf = pessoaFisica.Cpf;
            Nome = pessoaFisica.Nome;
            Email = pessoaFisica.Email;
            Fone = pessoaFisica.Fone;
            Fax = pessoaFisica.Fax;
            Celular = pessoaFisica.Celular;
            Rg = pessoaFisica.Rg;
            OrgaoExpedidor = pessoaFisica.OrgaoExpedidor;
            DataDeNascimento = pessoaFisica.DataDeNascimento;
            TipoDeCadastroId = pessoaFisica.TipoDeCadastroId;

            Endereco enderecoPrincipal = pessoaFisica.EnderecoPrincipal();
            EnderecoPrincipalCep = enderecoPrincipal.Cep;
            EnderecoPrincipalTipoDeLogradouro = enderecoPrincipal.TipoDeLogradouro;
            EnderecoPrincipalLogradouro = enderecoPrincipal.Logradouro;
            EnderecoPrincipalNumero = enderecoPrincipal.Numero;
            EnderecoPrincipalComplemento = enderecoPrincipal.Complemento;
            EnderecoPrincipalBairro = enderecoPrincipal.Bairro;
            EnderecoPrincipalMunicipio = enderecoPrincipal.Municipio;
            EnderecoPrincipalUf = enderecoPrincipal.Uf;

            Endereco enderecoCobranca = pessoaFisica.EnderecoCobranca();
            EnderecoCobrancaCep = enderecoCobranca.Cep;
            EnderecoCobrancaTipoDeLogradouro = enderecoCobranca.TipoDeLogradouro;
            EnderecoCobrancaLogradouro = enderecoCobranca.Logradouro;
            EnderecoCobrancaNumero = enderecoCobranca.Numero;
            EnderecoCobrancaComplemento = enderecoCobranca.Complemento;
            EnderecoCobrancaBairro = enderecoCobranca.Bairro;
            EnderecoCobrancaMunicipio = enderecoCobranca.Municipio;
            EnderecoCobrancaUf = enderecoCobranca.Uf;

            Endereco enderecoEntrega = pessoaFisica.EnderecoEntrega();
            EnderecoEntregaCep = enderecoEntrega.Cep;
            EnderecoEntregaTipoDeLogradouro = enderecoEntrega.TipoDeLogradouro;
            EnderecoEntregaLogradouro = enderecoEntrega.Logradouro;
            EnderecoEntregaNumero = enderecoEntrega.Numero;
            EnderecoEntregaComplemento = enderecoEntrega.Complemento;
            EnderecoEntregaBairro = enderecoEntrega.Bairro;
            EnderecoEntregaMunicipio = enderecoEntrega.Municipio;
            EnderecoEntregaUf = enderecoEntrega.Uf;
        }
        private void AjustaTipoEndereco(PessoaFisica pessoaFisica)
        {
            TipoDeEndereco tipoEnderecoPrincipal = db.TiposDeEndereco.Find(TipoDeEndereco.TipoDeEnderecoPrincipal.TipoDeEnderecoId);
            if (tipoEnderecoPrincipal == null)
                tipoEnderecoPrincipal = new TipoDeEndereco(TipoDeEndereco.TipoDeEnderecoPrincipal);

            TipoDeEndereco tipoEnderecoCobranca = db.TiposDeEndereco.FirstOrDefault(t => t.TipoDeEnderecoId == 2);
            if (tipoEnderecoCobranca == null)
                tipoEnderecoCobranca = new TipoDeEndereco(TipoDeEndereco.TipoDeEnderecoCobranca);

            TipoDeEndereco tipoEnderecoEntrega = db.TiposDeEndereco.FirstOrDefault(t => t.TipoDeEnderecoId == 3);
            if (tipoEnderecoEntrega == null)
                tipoEnderecoEntrega = new TipoDeEndereco(TipoDeEndereco.TipoDeEnderecoEntrega);

            pessoaFisica.EnderecoPrincipal().TipoDeEndereco = tipoEnderecoPrincipal;
            pessoaFisica.EnderecoCobranca().TipoDeEndereco = tipoEnderecoCobranca;
            pessoaFisica.EnderecoEntrega().TipoDeEndereco = tipoEnderecoEntrega;
        }
 public PessoaFisica ToEntity()
 {
     PessoaFisica pessoaFisica = new PessoaFisica();
     AssignTo(pessoaFisica);
     return pessoaFisica;
 }
        public void AssignTo(PessoaFisica pessoaFisica)
        {
            pessoaFisica.PessoaId = PessoaId;
            pessoaFisica.Cpf = Cpf;
            pessoaFisica.Nome = Nome;
            pessoaFisica.Email = Email;
            pessoaFisica.Fone = Fone;
            pessoaFisica.Fax = Fax;
            pessoaFisica.Celular = Celular;
            pessoaFisica.Rg = Rg;
            pessoaFisica.OrgaoExpedidor = OrgaoExpedidor;
            pessoaFisica.DataDeNascimento = DataDeNascimento;
            pessoaFisica.TipoDeCadastroId = TipoDeCadastroId;

            Endereco enderecoPrincipal = pessoaFisica.EnderecoPrincipal();
            enderecoPrincipal.Cep = EnderecoPrincipalCep;
            enderecoPrincipal.TipoDeLogradouro = EnderecoPrincipalTipoDeLogradouro;
            enderecoPrincipal.Logradouro = EnderecoPrincipalLogradouro;
            enderecoPrincipal.Numero = EnderecoPrincipalNumero;
            enderecoPrincipal.Complemento = EnderecoPrincipalComplemento;
            enderecoPrincipal.Bairro = EnderecoPrincipalBairro;
            enderecoPrincipal.Municipio = EnderecoPrincipalMunicipio;
            enderecoPrincipal.Uf = EnderecoPrincipalUf;

            Endereco enderecoCobranca = pessoaFisica.EnderecoCobranca();
            enderecoCobranca.Cep = EnderecoCobrancaCep;
            enderecoCobranca.TipoDeLogradouro = EnderecoCobrancaTipoDeLogradouro;
            enderecoCobranca.Logradouro = EnderecoCobrancaLogradouro;
            enderecoCobranca.Numero = EnderecoCobrancaNumero;
            enderecoCobranca.Complemento = EnderecoCobrancaComplemento;
            enderecoCobranca.Bairro = EnderecoCobrancaBairro;
            enderecoCobranca.Municipio = EnderecoCobrancaMunicipio;
            enderecoCobranca.Uf = EnderecoCobrancaUf;

            Endereco enderecoEntrega = pessoaFisica.EnderecoEntrega();
            enderecoEntrega.Cep = EnderecoEntregaCep;
            enderecoEntrega.TipoDeLogradouro = EnderecoEntregaTipoDeLogradouro;
            enderecoEntrega.Logradouro = EnderecoEntregaLogradouro;
            enderecoEntrega.Numero = EnderecoEntregaNumero;
            enderecoEntrega.Complemento = EnderecoEntregaComplemento;
            enderecoEntrega.Bairro = EnderecoEntregaBairro;
            enderecoEntrega.Municipio = EnderecoEntregaMunicipio;
            enderecoEntrega.Uf = EnderecoEntregaUf;
        }