Duvida com abstração Pessoa, PessoaFisica, PessoaJuridica, Cliente em um sistema imobiliario.

Respondido Duvida com abstração Pessoa, PessoaFisica, PessoaJuridica, Cliente em um sistema imobiliario.

  • segunda-feira, 6 de fevereiro de 2012 05:47
     
     
    Pessoal estou modelando um sistema para imobiliaria, onde tenho as seguintes condições:
    • Um cliente deve ser uma pessoa.
    • Um cliente pode ser uma pessoa fisica ou juridica.
    • Um cliente pode ser tanto um locador como um locatario.
    • O locatario pode ser um locador também e vice versa.
    Bem a parte da modelagem que tá pegando é essa, não sei como fazer, a principio, tenho uma classe Pessoa, e mais uma classe PessoaFisica e PessoaJuridica ambas herdando a classe Pessoa, mas não sei como faria a parte do cliente, pois ele pode ser ou juridica como fisica. E ai, alguma sujestão para essa modelagem ?

    Emerson Soares, http://emersonsoares.com

Todas as Respostas

  • terça-feira, 7 de fevereiro de 2012 13:47
     
     

    Pessoa e cliente nao contem os mesmos dados?

    Voce esta modelando de forma diferente? No caminho feliz voce modelaria os dados do cliente/pessoa da mesma forma(ou poderia ser só uma), ja que os dados do cliente estao contidos em pessoa?

    Se quiser mais ajuda posta como esta sua modelagem.


    Consultoria .NET

    ANALISTA DESENVOLVEDOR
    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta.

  • terça-feira, 7 de fevereiro de 2012 17:09
     
     Respondido


    Pessoa é uma classe

    Cliente herda de pessoa.

    Funcionário herda de pessoa.

    TipoFiscal uma enumeração (Fisica,Jurídica)

    TipoPessoa uma enumeração (Locador,Locatário,Fiador,Corretor,Testemunha, etc...)

    Pode-se decidir sobre enumeração ou banco.

    Espero ter ajudado.

  • quarta-feira, 8 de fevereiro de 2012 01:51
     
     Respondido

    Boa Noite,

    As propriedades entre pessoa juridica e pessoa fisica são diferentes mas podem ocupar o mesmo lugar, exemplo:

    se a propriedade PesFJ = "F", as propriedades CpfCnpj, RgIe, NascInicio serão respectivamente Cpf, Rg e Data Nascimento

    se a propriedade PesFJ = "J", as propriedades CpfCnpj, RgIe, NascInicio serão respectivamente Cnpj, Inscr.Estadual e Inicio de atividades

    Já os campos que não podem ser conciliados, você pode simplesmente deixar vazio, ou igual a zero. O unico problema é que se vc usar a mesma janela para cadastrar todos eles, vc vai ter que tratar os labels de acordo com a propriedade PesFJ, e tornar invisível campos não conciliados.