]> git.llucax.com Git - z.facultad/75.10/miklolife.git/commitdiff
ahi va la 1era version de AUtorizacion controller... le falta bastanton :P
authorSebastian Lavena <sjlavena@gmail.com>
Wed, 6 Jul 2005 08:19:50 +0000 (08:19 +0000)
committerSebastian Lavena <sjlavena@gmail.com>
Wed, 6 Jul 2005 08:19:50 +0000 (08:19 +0000)
Agregue ctores vacios en Auotizacion para permitir consultas de db4, sin datos sucios en la instancia.

demo/src/Controlador/AutorizacionController.cs [new file with mode: 0644]
demo/src/Dominio/Autorizacion.cs

diff --git a/demo/src/Controlador/AutorizacionController.cs b/demo/src/Controlador/AutorizacionController.cs
new file mode 100644 (file)
index 0000000..25b6714
--- /dev/null
@@ -0,0 +1,178 @@
+\r
+#region Usings\r
+\r
+using System;\r
+using System.Collections;\r
+\r
+using Dominio;\r
+using Dominio.Autorizaciones;\r
+using Dominio.Afiliados;\r
+\r
+\r
+#endregion Usings\r
+\r
+namespace Controlador\r
+{\r
+       /// <summary>\r
+       /// Clase controlador que lleva a cabo los CU de "Pedir autorizacion automatica",\r
+       /// "Pedir autorizacion manual" y actualizar "autorizacion manual"\r
+       /// </summary>\r
+       public class AutorizacionController : Controller\r
+       {\r
+               #region Constructores\r
+               \r
+               public AutorizacionController(DateTime fechaSolicitud): base()\r
+               {\r
+\r
+               }\r
+\r
+               #endregion Constructores\r
+\r
+               #region Campos Privados \r
+\r
+               private Autorizacion _currentAutorizacion = null ;              \r
+               \r
+               #endregion Campos Privados\r
+\r
+               #region Propiedades privadas\r
+\r
+               public Autorizacion CurrentAutorizacion\r
+               {
+                       get { return _currentAutorizacion; }                    
+               }\r
+               #endregion Propiedades privadas\r
+\r
+               #region Métodos Públicos\r
+               \r
+               /// <summary>\r
+               /// Guarda un pedido de autorizacion manual.\r
+               /// </summary>\r
+               public bool guardarAutorizacionManual(String codPrestacion, String cuitPrestador\r
+                       , int codAfiliado, String observaciones)\r
+               {\r
+                       bool codigosOk = true;\r
+                       \r
+                       AutorizacionManual aut = new AutorizacionManual(DateTime.Now);\r
+                       \r
+\r
+\r
+                       //Seteo prestacion\r
+                       Prestacion prestacion = new Prestacion();\r
+                       prestacion.Codigo=codPrestacion;\r
+                       if (null==(aut.Prestacion = (Prestacion)this.ObjectSetToArrayList( this.Db.get(prestacion) )[0]))\r
+                               codigosOk = false;\r
+\r
+                       //Seteo prestador\r
+                       Prestador prestador = new Prestador();\r
+                       prestador.Cuit=cuitPrestador;\r
+                       if (null==(aut.Prestador = (Prestador)this.ObjectSetToArrayList( this.Db.get(prestador) )[0]))\r
+                               codigosOk=false;\r
+                       \r
+\r
+                       //Seteo afiliado\r
+                       Afiliado afiliado = new Afiliado(codAfiliado);                  \r
+                       if (null==(aut.Afiliado = ((Afiliado)this.ObjectSetToArrayList( this.Db.get(afiliado) )[0])))\r
+                               codigosOk=false;\r
+                       \r
+                       //Seteo fecha de vencimiento como dentro de 60 días\r
+                       aut.FechaVencimiento = DateTime.Now.AddDays(60);\r
+\r
+\r
+                       aut.Observaciones = observaciones;\r
+\r
+                       #warning Grabar en autorizacionController:ver manejo de codigos!!!!\r
+\r
+                       if (codigosOk) this.Db.set(aut);\r
+\r
+                       return codigosOk;                       \r
+               }\r
+\r
+               public float evaluarAutorizacionAutomatica(String cuitPrestador, String codPrestacion, int codAfiliado, out int codAutorizacion)
+               {
+
+                       bool codigosOk = true;\r
+                       float porcentajeDeCobertura = 0;\r
+                       string fundamentosResolucion = "Todo ok";\r
+                       \r
+                       AutorizacionAutomatica aut = new AutorizacionAutomatica(DateTime.Now);\r
+                       \r
+\r
+                       #region Se insancia prestador, prestacion y afiliado, y se asocia a aut\r
+                       //Seteo prestacion\r
+                       Prestacion prestacion = new Prestacion();\r
+                       prestacion.Codigo=codPrestacion;\r
+                       if (null==(aut.Prestacion = (Prestacion)this.ObjectSetToArrayList( this.Db.get(prestacion) )[0]))\r
+                               codigosOk = false;\r
+\r
+                       //Seteo prestador\r
+                       Prestador prestador = new Prestador();\r
+                       prestador.Cuit=cuitPrestador;\r
+                       if (null==(aut.Prestador = (Prestador)this.ObjectSetToArrayList( this.Db.get(prestador) )[0]))\r
+                               codigosOk=false;\r
+                       \r
+\r
+                       //Seteo afiliado\r
+                       Afiliado afiliado = new Afiliado(codAfiliado);                  \r
+                       if (null==(aut.Afiliado = ((Afiliado)this.ObjectSetToArrayList( this.Db.get(afiliado) )[0])))\r
+                               codigosOk=false;\r
+                       #endregion      Se insancia prestador, prestacion y afiliado, y se asocia a aut\r
+\r
+                       //Seteo fecha de vencimiento como dentro de 60 días\r
+                       aut.FechaVencimiento = DateTime.Now.AddDays(60);\r
+\r
+                       try\r
+                       {
+                               porcentajeDeCobertura = afiliado.VerificarCobertura(codPrestacion);
+                       }\r
+                       catch\r
+                       {
+                               #warning verificar cobertura deberia tirar excepcion si explota, o se rechaza
+                               //TODO Asignar motivo de rechazo a fundamentosResolucion
+                       }
+                       finally\r
+                       {
+                               //Si porcentaje es 0, se registra rechazada
+                               aut.setResolucion(fundamentosResolucion, porcentajeDeCobertura);
+                               if (codigosOk) \r
+                               {\r
+                                       this.Db.set(aut);\r
+                                       this._currentAutorizacion=aut;\r
+                               }\r
+                               #warning deberia obtener codigo de autorizacion ACA y devolverlo\r
+                               codAutorizacion = 131313; //TODO SETEAR CODIGO BIEN!!\r
+                               \r
+                                               
+                       }
+                       return porcentajeDeCobertura;
+               }
+\r
+               public ArrayList obtenerAutorizacionesPendientes()\r
+               {\r
+                       \r
+                       Autorizacion autorizacion = new AutorizacionManual();\r
+       //              autorizacion.fe seleccionar nulls\r
+                       //aut.Autorizacion = (Autorizacion)this.ObjectSetToArrayList( this.Db.get(autorizacion) )[0])\r
+\r
+                       return null;\r
+\r
+\r
+               }\r
+               \r
+\r
+\r
+\r
+               #endregion Métodos Públicos\r
+\r
+               #region Métodos Privados\r
+\r
+               /// <summary>\r
+               /// Procesa las lineas del reporte una vez que el mismo ha sido validado:\r
+               /// Si está aprobada, la registra en el sistema y la agrega al reporte de Consumo de los Afiliados. \r
+               /// A todas las lineas las agrega al Informe de Aprobaciones/rechazos de Prestaciones Realizadas.\r
+               /// </summary>\r
+               /// <param name="ip">Reporte del cual se porcesarán las lineas</param>\r
+               \r
+               #endregion Métodos Privados\r
+\r
+       }\r
+}\r
index d974b7cc8c9b2a81666c9099e4e3fab1afdbd82c..e6ee120b351b1bbac33e220d635c8fa37072f4c4 100644 (file)
@@ -97,6 +97,11 @@ namespace Dominio
                                #warning Ver cómo manejar los códigos con DB4O
                                this.FechaSolicitud = fechaSolicitud;
                        }
+                       
+                       //Se necesita alguno vacio por tema de consultas en db4.
+                       public Autorizacion()\r
+                       {
+                       }
 
                        #endregion Constructores
 
@@ -191,6 +196,9 @@ namespace Dominio
                                : base( fechaSolicitud )
                        {
                        }
+                       public AutorizacionManual()\r
+                       {
+                       }
 
                        #endregion Constructores
 
@@ -269,6 +277,9 @@ namespace Dominio
                                : base( fechaSolicitud )
                        {
                        }
+                       public AutorizacionAutomatica()         
+                       {
+                       }
 
                        #endregion Constructores