namespace Dominio { namespace Afiliados { public enum ESolicitanteEstados { PENDIENTE_VISITA, LISTO_PARA_VISITAR, LISTO_PARA_AFILIAR } public class Solicitante : Persona { private string _disponibilidad; private int _familiares; private string _observaciones; private bool _pendiente; private Persona _titular; private Promotor _promotor = null; public string Disponibilidad { get { return _disponibilidad; } set { _disponibilidad = value; } } public int Familiares { get { return _familiares; } set { _familiares = value; } } public string Observaciones { get { return _observaciones; } set { _observaciones = value; } } public bool Pendiente { get { return _pendiente; } set { _pendiente = value; } } public Persona Titular { get { return _titular; } set { _titular = value; } } public Promotor Promotor { get { return _promotor; } set { _promotor = value; } } public ESolicitanteEstados Estado { get { if ((_pendiente == true) && (_promotor == null)) return ESolicitanteEstados.PENDIENTE_VISITA; if ((_pendiente == false) && (_promotor != null)) return ESolicitanteEstados.LISTO_PARA_VISITAR; return ESolicitanteEstados.LISTO_PARA_AFILIAR; } } public Solicitante (ETipoDocumento tD, int nroD, string nombre, string apellido):base(tD,nroD,nombre) { Apellido = apellido; _pendiente = true; } } } }