namespace Dominio { namespace Afiliados { using System; using System.Collections; using Dominio.Planes; using Excepciones; public class Afiliado : Persona { private DateTime _fechaAfiliacion; private int _codigo; private DateTime _fechaBaja = DateTime.MinValue; private int _moroso; private Afiliado _titular; private Plan _plan; private ArrayList _historialPlanes; private ArrayList _Autorizaciones; public DateTime FechaAfiliacion { get { return _fechaAfiliacion; } } public int Codigo { get { return _codigo; } } public DateTime FechaBaja { get { return _fechaBaja; } } public int Moroso { get { return _moroso; } set { _moroso = value; } } public Afiliado Titular { get { return _titular; } set { _titular = value; } } public Plan PlanActual { get { return _plan; } } public Afiliado (ETipoDocumento tipoDoc, int nroDoc):base(tipoDoc, nroDoc, null) { } public Afiliado (int codigo) { this._codigo=codigo; } public Afiliado (Solicitante sol, Plan plan, DateTime afiliacion):base (sol.TipoDocumento, sol.NroDocumento, sol.Nombre) { Apellido = sol.Apellido; EMail = sol.EMail; FechaNacimiento = sol.FechaNacimiento; Sexo = sol.Sexo; _fechaAfiliacion = afiliacion; _moroso = 0; /* TODO : Asignar el codigo que corresponda */ _codigo = 0; _plan = plan; } public int ObtenerCantidadDePrestacionesRealizadas (int codPrestacion) { return 0; } //Devuelve porcentaje de cobertura. //En teoria lanza exepcion si se rechaza, y dentro de la expecione estaria motivo //de rechazo, y se lanzaria otro tipo de excepcion para errores de otro tipo i.e: codigos public float VerificarCobertura (string codPrestacion) //Lanza VerificarCoberturaException o AutorizacionRechazadaException { return 0; } } } }