Viendolo bien Nestor, tienes razon, estoy modificando mi dominio para ajustar tus sugerencias, mi duda ahora es la aplicacion del algoritmo especifico de acuerdo al tipo de Identificacion: Cedula, Ruc, etc.
Saludos El 7 de diciembre de 2010 12:43, Nestor Rodriguez <[email protected]>escribió: > Te pregunto: Porque extiendes de Identificacion? Yo creeria que no es > necesario, para eso tienes una tipificacion de la identificacion. > Normalmente uno o extiende o tipifica, no ambas a menos que sea por una > razon que aun no hayas comentado. En caso de necesitar ambas , creeria yo, > es necesario modificar tu estructura de persistencia. O si no requires > extender la identificacion te funcionaria un <component> en el cliente. > > Saludos, > Nestor Rodriguez > > 2010/12/7 Edgar Ramos <[email protected]> > >> Nestor. >> >> Si tengo 3 clases que implementan IIdentificacion (Cedula, Ruc, >> Pasaporte), tendre 3 component ?, esto es correcto verdad ? >> Ya que PersonaJuridica puede aceptar cualquiera de estas 3 >> implementaciones como documento >> >> Saludos >> >> Edgar >> >> El 7 de diciembre de 2010 11:56, Nestor Rodriguez >> <[email protected]>escribió: >> >>> Hasta donde yo veo necesitas hacer un >>> component<http://nhforge.org/doc/nh/en/index.html#mapping-declaration-component> >>> en >>> persona juridica para la Identificacion. Y en el <component> haces un >>> <many-to-one> para apuntar a TipoIdentificacion. De todas maneras es >>> importante que aclares cual es el problema que presentas y como has tratado >>> de mapearlo. >>> >>> Saludos, >>> Nestor Rodriguez >>> >>> 2010/12/7 Edgar Ramos <[email protected]> >>> >>>> Gente un saludo >>>> >>>> Tengo la sigueinte clase >>>> >>>> public class PersonaJuridica : BaseEntity, ICliente >>>> { >>>> public virtual string NombreComercial { get; set; } >>>> public virtual string RazonSocial { get; set; } >>>> public virtual string Direccion { get; set; } >>>> public virtual string Telefono { get; set; } >>>> >>>> public virtual IIdentificacion Documento { get; set; } >>>> >>>> public virtual string Descripcion { >>>> get { return RazonSocial; } >>>> } >>>> } >>>> >>>> Para la propiedad public virtual IIdentificacion Documento { get; set; } >>>> , la cual puede ser de varios tipos aqui un ejemplo de un tipo >>>> >>>> public class Cedula : IIdentificacion >>>> { >>>> >>>> #region Miembros de IIdentificacion >>>> >>>> public bool EsValido() { >>>> .... >>>> } >>>> >>>> public virtual string NumeroIdentificacion { get; set; } >>>> >>>> public virtual TipoIdentificacion TipoIdentificacion { get; set; >>>> } >>>> >>>> #endregion >>>> } >>>> >>>> A su vez para la propiedad public virtual TipoIdentificacion >>>> TipoIdentificacion { get; set; } aqui la clase >>>> >>>> public class TipoIdentificacion : BaseEntity >>>> { >>>> public virtual string Descripcion { get; set; } >>>> public bool LogNatural { get; set; } >>>> public bool LogJuridico { get; set; } >>>> public bool LogConsumidorFinal { get; set; } >>>> } >>>> >>>> Yo requiero tener una tabla de la siguiente forma >>>> >>>> PersonaJuridica >>>> >>>> Id, NombreComercial, RazonSocial, etc, IdentificacionID, >>>> NumeroIdentificacion >>>> 1 XYZ XYZ 1 >>>> 0408520096001 >>>> >>>> >>>> TipoIdentificacion >>>> >>>> Id, Descripcion, LogNatural, LogJuridico >>>> 1 Cedula 1 0 >>>> 2 Ruc 1 1 >>>> 3 Pasaporte 1 0 >>>> >>>> Gracias por sus comentarios >>>> >>>> Saludos >>>> >>>> Edgar >>>> >>>> -- >>>> Para escribir al Grupo, hágalo a esta dirección: >>>> [email protected] >>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>> >>> >>> -- >>> Para escribir al Grupo, hágalo a esta dirección: >>> [email protected] >>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>> >> >> -- >> Para escribir al Grupo, hágalo a esta dirección: >> [email protected] >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >> > > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
