]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blobdiff - demo/src/Controlador/AutorizacionController.cs
- Valida contra el schema
[z.facultad/75.10/miklolife.git] / demo / src / Controlador / AutorizacionController.cs
index c43e71ff02fab5e52cb1af836c570396a21d4e64..4265fb08a8e2cf4397f1a4b2c0abc8491fef9b06 100644 (file)
@@ -7,6 +7,7 @@ using System.Collections;
 using Dominio;\r
 using Dominio.Autorizaciones;\r
 using Dominio.Afiliados;\r
 using Dominio;\r
 using Dominio.Autorizaciones;\r
 using Dominio.Afiliados;\r
+\r
 
 using com.db4o;
 using com.db4o.query;
 
 using com.db4o;
 using com.db4o.query;
@@ -53,40 +54,62 @@ namespace Controlador
                        , int codAfiliado, String observaciones)\r
                {\r
                        bool codigosOk = true;\r
                        , int codAfiliado, String observaciones)\r
                {\r
                        bool codigosOk = true;\r
-                       \r
+                               \r
                        AutorizacionManual aut = new AutorizacionManual(DateTime.Now);\r
                        \r
                        AutorizacionManual aut = new AutorizacionManual(DateTime.Now);\r
                        \r
-\r
-\r
+                       #region Se insancia prestador, prestacion y afiliado, y se asocia a aut\r
                        //Seteo prestacion\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
+                       ArrayList al = this.ObjectSetToArrayList( this.Db.get( new Prestacion(codPrestacion) ) );\r
+                       if (null==(aut.Prestacion = ( (al.Count == 0)? null : al[0] ) as Prestacion))\r
+                               codigosOk=false;\r
 \r
                        //Seteo prestador\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
+                       al = this.ObjectSetToArrayList( this.Db.get( new Prestador(cuitPrestador) ) );\r
+                       if (null==(aut.Prestador = ( (al.Count == 0)? null : al[0] ) as Prestador))\r
                                codigosOk=false;\r
                                codigosOk=false;\r
-                       \r
+\r
+                               \r
 \r
                        //Seteo afiliado\r
 \r
                        //Seteo afiliado\r
-                       Afiliado afiliado = new Afiliado(codAfiliado);                  \r
-                       if (null==(aut.Afiliado = ((Afiliado)this.ObjectSetToArrayList( this.Db.get(afiliado) )[0])))\r
+                       al = this.ObjectSetToArrayList( this.Db.get( new Afiliado(codAfiliado) ) );\r
+                       if (null==(aut.Afiliado = ( (al.Count == 0)? null : al[0] ) as Afiliado))\r
                                codigosOk=false;\r
                                codigosOk=false;\r
-                       \r
+       \r
+                       #endregion Se insancia prestador, prestacion y afiliado, y se asocia a aut\r
                        //Seteo fecha de vencimiento como dentro de 60 días\r
                        aut.FechaVencimiento = DateTime.Now.AddDays(60);\r
 \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
+                       aut.Observaciones = observaciones;                      \r
 \r
 \r
-                       #warning Grabar en autorizacionController:ver manejo de codigos!!!!\r
+                       //Signo prox codigo para autorizacion\r
+                       AutoIncrementable c = new AutoIncrementable ();\r
+                       using (c)\r
+                       {\r
+                               aut.Codigo = c.NextAutorizacion();\r
+                       }\r
 \r
                        if (codigosOk) this.Db.set(aut);\r
 \r
                        return codigosOk;                       \r
 \r
                        if (codigosOk) this.Db.set(aut);\r
 \r
                        return codigosOk;                       \r
+               \r
+               }\r
+\r
+               //PRE: No hay autorizaciones manuales y automaticas con mismo codigo!!\r
+               public Autorizacion obtener(int codigo)\r
+               {                       \r
+                       //Busco manual\r
+                       ArrayList al = this.ObjectSetToArrayList( this.Db.get( new AutorizacionManual(codigo) ) );\r
+                       Autorizacion a = ((al.Count == 0)? null : al[0] ) as Autorizacion;\r
+                       \r
+                       if (null==a)\r
+                       //Busco automatica, si no hay manual para ese codigo\r
+                       {\r
+                               al = this.ObjectSetToArrayList( this.Db.get( new AutorizacionAutomatica(codigo) ) );\r
+                               a = ((al.Count == 0)? null : al[0] ) as Autorizacion;\r
+                       }\r
+                       return a;\r
                }\r
 \r
                public float evaluarAutorizacionAutomatica(String cuitPrestador, String codPrestacion, int codAfiliado, out int codAutorizacion)
                }\r
 \r
                public float evaluarAutorizacionAutomatica(String cuitPrestador, String codPrestacion, int codAfiliado, out int codAutorizacion)
@@ -98,33 +121,35 @@ namespace Controlador
                        \r
                        AutorizacionAutomatica aut = new AutorizacionAutomatica(DateTime.Now);\r
                        \r
                        \r
                        AutorizacionAutomatica aut = new AutorizacionAutomatica(DateTime.Now);\r
                        \r
-\r
-                       #region Se insancia prestador, prestacion y afiliado, y se asocia a aut\r
+                       #region Se insancia prestador, prestacion y afiliado, y se asocia a aut\r
                        //Seteo prestacion\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
+                       ArrayList al = this.ObjectSetToArrayList( this.Db.get( new Prestacion(codPrestacion) ) );\r
+                       if (null==(aut.Prestacion = ( (al.Count == 0)? null : al[0] ) as Prestacion))\r
+                               codigosOk=false;\r
 \r
                        //Seteo prestador\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
+                       al = this.ObjectSetToArrayList( this.Db.get( new Prestador(cuitPrestador) ) );\r
+                       if (null==(aut.Prestador = ( (al.Count == 0)? null : al[0] ) as Prestador))\r
                                codigosOk=false;\r
                                codigosOk=false;\r
-                       \r
+\r
+                               \r
 \r
                        //Seteo afiliado\r
 \r
                        //Seteo afiliado\r
-                       Afiliado afiliado = new Afiliado(codAfiliado);                  \r
-                       if (null==(aut.Afiliado = ((Afiliado)this.ObjectSetToArrayList( this.Db.get(afiliado) )[0])))\r
+                       al = this.ObjectSetToArrayList( this.Db.get( new Afiliado(codAfiliado) ) );\r
+                       if (null==(aut.Afiliado = ( (al.Count == 0)? null : al[0] ) as Afiliado))\r
                                codigosOk=false;\r
                                codigosOk=false;\r
-                       #endregion      Se insancia prestador, prestacion y afiliado, y se asocia a aut\r
+       \r
+                       #endregion Se insancia prestador, prestacion y afiliado, y se asocia a aut\r
+                       //Seteo fecha de vencimiento como dentro de 60 días\r
+                       \r
 \r
                        //Seteo fecha de vencimiento como dentro de 60 días\r
                        aut.FechaVencimiento = DateTime.Now.AddDays(60);\r
 \r
                        try\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);
+                               porcentajeDeCobertura = aut.Afiliado.VerificarCobertura(codPrestacion);
                        }\r
                        catch\r
                        {
                        }\r
                        catch\r
                        {
@@ -158,7 +183,32 @@ namespace Controlador
 
                        return ObjectSetToArrayList (result);
                }
 
                        return ObjectSetToArrayList (result);
                }
-\r
+
+               public ArrayList obtenerAutorizacionesPorAfiliado (int codafiliado)
+               {       
+                       Afiliado a = new Afiliado (codafiliado);
+       
+                       Query query = Db.query();
+                       query.constrain(typeof(Autorizacion));
+                       query.descend("_afiliado").constrain(a);
+
+                       ObjectSet result = query.execute ();
+
+                       return ObjectSetToArrayList (result);
+               }
+               //PRE: El codigo solicitado tiene que ser de una autorizacion manual.\r
+               public bool  setResolucionAutorizacionManual(int codAutorizacion, \r
+                       String fundamentosResolucion, float porcentaje)\r
+               {\r
+                       AutorizacionManual a = this.obtener(codAutorizacion) as AutorizacionManual;\r
+                       if (null==a) return false;\r
+                       a.Aprobada = (porcentaje==0)?false:true;\r
+                       a.PorcentajeCobertura = porcentaje;\r
+                       a.FundamentosResolucion = fundamentosResolucion;\r
+                       this.Db.set(a);\r
+\r
+                       return true;\r
+               }\r
 \r
 \r
                #endregion Métodos Públicos\r
 \r
 \r
                #endregion Métodos Públicos\r
@@ -172,6 +222,64 @@ namespace Controlador
                /// </summary>\r
                /// <param name="ip">Reporte del cual se porcesarán las lineas</param>\r
                \r
                /// </summary>\r
                /// <param name="ip">Reporte del cual se porcesarán las lineas</param>\r
                \r
+               private void InsertarDatosNecesarios()\r
+               {\r
+                       return;
+                       //PRESTADOR\r
+                       Prestador pre = new Prestador();\r
+                       pre.Cuit = "11-11111111-1";\r
+                       ObjectSet os = this.Db.get( pre );\r
+                       if ( (os == null) || (os.size() == 0) )\r
+                       {\r
+                               Dominio.SDireccion dir;\r
+                               dir.Calle = "Gaona"; dir.CodigoPostal = "AB1504"; dir.Departamento = "";\r
+                               dir.Numero = 1234; dir.Piso = 0;  dir.Provincia = Dominio.EProvincia.CAPITAL_FEDERAL;\r
+                               dir.Telefono = "5056-4567";\r
+                               pre.Direccion = dir;\r
+                               pre.Email = @"roberto@sancamilo.com";\r
+                               pre.FechaBaja = DateTime.MinValue;\r
+                               pre.Nombre = "Clinica San Camilo";\r
+                               pre.Password = "camilo";\r
+                               pre.Zona = new SZona( "Caballito", "Zona de Caballito" );\r
+                               this.Db.set( pre );\r
+                       }\r
+\r
+                       Prestacion p = new Prestacion();\r
+                       p.Codigo = "mierda" ;\r
+\r
+                       Categoria c = new Categoria();\r
+                       c.Codigo=10;\r
+                       c.Nombre="categoria 1";\r
+               \r
+                       p.Categoria = c;\r
+                       p.Nombre= "hospital de clinicas";\r
+                       this.Db.set(p);\r
+\r
+                       Afiliado a = new Afiliado(69);\r
+                       a.Apellido = "apellido";\r
+                       a.EMail = "afiliado@aaa.com";\r
+\r
+                       this.Db.set(a);\r
+                       \r
+\r
+                       //AUTORIZACIONES\r
+                       /*AutorizacionAutomatica a = new AutorizacionAutomatica();\r
+                       a.Codigo = 123;\r
+                       os = this.Db.get( a );\r
+                       if ( (os == null) || (os.size() == 0) )\r
+                       {\r
+                               a.Afiliado = new Dominio.Afiliados.Afiliado( 987 );\r
+                               a.Prestacion = new Prestacion( "B01AC06" );\r
+                               a.Prestador = pre;\r
+                               a.FechaSolicitud = new DateTime( 2005, 5, 20 ); // 20 de mayo\r
+                               a.FechaRealizacion = DateTime.MinValue;\r
+                               a.FechaVencimiento = a.FechaSolicitud.AddMonths( 2 ); // 20 de julio, aprox\r
+                               a.Aprobada = true;\r
+                               a.PorcentajeCobertura = 12.5F;\r
+                               this.Db.set( a );\r
+                       }*/\r
+               }\r
+\r
                #endregion Métodos Privados\r
 \r
        }\r
                #endregion Métodos Privados\r
 \r
        }\r