]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blobdiff - demo/src/Controlador/AutorizacionController.cs
- Actualizacion solucion VS con archivos de Rick
[z.facultad/75.10/miklolife.git] / demo / src / Controlador / AutorizacionController.cs
index c43e71ff02fab5e52cb1af836c570396a21d4e64..33e036a293305dd5f52653370c13c9537e97daad 100644 (file)
@@ -7,6 +7,7 @@ using System.Collections;
 using Dominio;\r
 using Dominio.Autorizaciones;\r
 using Dominio.Afiliados;\r
+\r
 
 using com.db4o;
 using com.db4o.query;
@@ -54,39 +55,65 @@ namespace Controlador
                {\r
                        bool codigosOk = true;\r
                        \r
+                       //solo para testing--------------------\r
+                       this.InsertarDatosNecesarios();\r
+                       //------------------------------------\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
-                       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
-                       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
-                       \r
+\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
+                       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
-                       \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
-                       aut.Observaciones = observaciones;\r
+                       aut.Observaciones = observaciones;                      \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
+               }\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)
@@ -98,33 +125,35 @@ namespace Controlador
                        \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
-                       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
-                       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
-                       \r
+\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
+                       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
-                       #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
                        {
-                               porcentajeDeCobertura = afiliado.VerificarCobertura(codPrestacion);
+                               porcentajeDeCobertura = aut.Afiliado.VerificarCobertura(codPrestacion);
                        }\r
                        catch\r
                        {
@@ -172,6 +201,63 @@ namespace Controlador
                /// </summary>\r
                /// <param name="ip">Reporte del cual se porcesarán las lineas</param>\r
                \r
+               private void InsertarDatosNecesarios()\r
+               {\r
+                       //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(c);\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