]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Dominio/Autorizacion.cs
554b129c3da40996128f91bb232e2a6df57bc4da
[z.facultad/75.10/miklolife.git] / demo / src / Dominio / Autorizacion.cs
1
2 namespace Dominio 
3 {
4         namespace Autorizaciones 
5         {
6                 using System;
7                 using Dominio.Planes;
8
9                 #region Clase Autorizacion
10
11                 public abstract class Autorizacion
12                 {
13                         #region Campos privados
14                         
15                         private int _codigo;
16                         private float _porcentajeCobertura;
17                         private DateTime _fechaSolicitud;
18                         private DateTime _fechaRealizacion;
19                         private DateTime _fechaVencimiento;
20                         private bool _aprobada;
21                         private string _fundamentosResolucion;
22                         private Prestador _prestador;
23                         private Prestacion _prestacion;
24                         
25                         #endregion Campos privados
26
27                         #region Propiedades Públicas
28
29                         public int Codigo
30                         {
31                                 get { return this._codigo; }
32                                 set { this._codigo = value; }
33                         }
34
35                         public float PorcentajeCobertura
36                         {
37                                 get { return this._porcentajeCobertura; }
38                                 set { this._porcentajeCobertura = value; }
39                         }
40
41                         public DateTime FechaSolicitud
42                         {
43                                 get { return this._fechaSolicitud; }
44                                 set { this._fechaSolicitud = value; }
45                         }
46
47                         public DateTime FechaRealizacion
48                         {
49                                 get { return this._fechaRealizacion; }
50                                 set { this._fechaRealizacion = value; }
51                         }
52
53                         public DateTime FechaVencimiento
54                         {
55                                 get { return this._fechaVencimiento; }
56                                 set { this._fechaVencimiento = value; }
57                         }
58
59                         public bool Aprobada
60                         {
61                                 get { return this._aprobada; }
62                                 set { this._aprobada = value; }
63                         }
64
65                         public string FundamentosResolucion
66                         {
67                                 get { return this._fundamentosResolucion; }
68                                 set { this._fundamentosResolucion = value; }
69                         }
70
71                         public Prestador Prestador
72                         {
73                                 get { return this._prestador; }
74                                 set { this._prestador = value; }
75                         }
76
77                         public Prestacion Prestacion
78                         {
79                                 get { return this._prestacion; }
80                                 set { this._prestacion = value; }
81                         }       
82
83                         #endregion Propiedades Públicas
84
85                         #region Constructores
86
87                         public Autorizacion (Cobertura c, Prestador p, DateTime solicitud)
88                         {
89                                 /* TODO */
90                                 _codigo = 0;
91                                 _porcentajeCobertura = c.Porcentaje;
92                                 _fechaSolicitud = solicitud;
93                                 _aprobada = false;
94                                 _prestador = p;
95                                 _prestacion = c.Prestacion;
96                         }
97
98                         public Autorizacion (Autorizacion auth)
99                         {
100                                 _codigo = auth._codigo;
101                                 _porcentajeCobertura = auth._porcentajeCobertura;
102                                 _fechaSolicitud = auth._fechaSolicitud;
103                         }
104
105                         #endregion Constructores
106
107                         #region Métodos Públicos
108
109                         public Autorizacion.Estado getEstado( )
110                         {
111                                 return getEstado( DateTime.Now );
112                         }
113
114                         public Autorizacion.Estado getEstado( DateTime fecha )
115                         {
116
117                                 return 0;
118                         }
119
120                         public void setResolucion( string fundamentosResolucion, float porcentajeCobertura )
121                         {
122                         }
123                         
124                         #endregion Métodos Públicos
125
126                         #region Estados de una autorización
127                         
128                         public enum Estado
129                         {
130                                 Pendiente,
131                                 Aprobada,
132                                 Rechazada,
133                                 Realizada,
134                                 Vencida
135                         }
136
137                         #endregion Estados de una autorización
138                 }
139
140                 #endregion Clase Autorizacion
141
142                 #region Clases derivadas de Autorizacion
143
144                 public class AutorizacionManual : Autorizacion
145                 {
146                         #region Campos Privados
147                         
148                         private string _observaciones;
149                         private DateTime _fechaResolucion;
150                         
151                         #endregion Campos Privados
152
153                         #region Propiedades Públicas
154                         
155                         public string Observaciones
156                         {
157                                 get { return this._observaciones; }
158                                 set { this._observaciones = value; }
159                         }
160
161                         public DateTime FechaResolucion
162                         {
163                                 get { return this._fechaResolucion; }
164                                 set { this._fechaResolucion = value; }
165                         }
166
167                         #endregion Propiedades Públicas
168
169                         #region Constructores
170
171                         public AutorizacionManual (Autorizacion auth):base (auth)
172                         {
173                         }
174
175                         #endregion Constructores
176                 }
177
178                 public class AutorizacionAutomatica : Autorizacion
179                 {
180                         #region Constructores
181
182                         public AutorizacionAutomatica (Autorizacion auth):base (auth)
183                         {
184                         }
185
186                         #endregion Constructores
187                 }
188
189                 #endregion Clases derivadas de Autorizacion
190         }
191 }
192