From 15d8bc23bd16dc511f85fde05f91b17f6f867dc9 Mon Sep 17 00:00:00 2001 From: Sebastian Lavena Date: Thu, 7 Jul 2005 03:33:04 +0000 Subject: [PATCH] nuevo met en autorizacion ctller : obtener(codigo) y saracatunga por doquier --- .../src/Controlador/AutorizacionController.cs | 144 ++++++++++++++---- demo/src/Tests/TestsAutorizacion.cs | 31 ++++ demo/src/VSProject.csproj | 15 ++ 3 files changed, 161 insertions(+), 29 deletions(-) diff --git a/demo/src/Controlador/AutorizacionController.cs b/demo/src/Controlador/AutorizacionController.cs index c43e71f..33e036a 100644 --- a/demo/src/Controlador/AutorizacionController.cs +++ b/demo/src/Controlador/AutorizacionController.cs @@ -7,6 +7,7 @@ using System.Collections; using Dominio; using Dominio.Autorizaciones; using Dominio.Afiliados; + using com.db4o; using com.db4o.query; @@ -54,39 +55,65 @@ namespace Controlador { bool codigosOk = true; + //solo para testing-------------------- + this.InsertarDatosNecesarios(); + //------------------------------------ + AutorizacionManual aut = new AutorizacionManual(DateTime.Now); - - + #region Se insancia prestador, prestacion y afiliado, y se asocia a aut //Seteo prestacion - Prestacion prestacion = new Prestacion(); - prestacion.Codigo=codPrestacion; - if (null==(aut.Prestacion = (Prestacion)this.ObjectSetToArrayList( this.Db.get(prestacion) )[0])) - codigosOk = false; + + ArrayList al = this.ObjectSetToArrayList( this.Db.get( new Prestacion(codPrestacion) ) ); + if (null==(aut.Prestacion = ( (al.Count == 0)? null : al[0] ) as Prestacion)) + codigosOk=false; //Seteo prestador - Prestador prestador = new Prestador(); - prestador.Cuit=cuitPrestador; - if (null==(aut.Prestador = (Prestador)this.ObjectSetToArrayList( this.Db.get(prestador) )[0])) + al = this.ObjectSetToArrayList( this.Db.get( new Prestador(cuitPrestador) ) ); + if (null==(aut.Prestador = ( (al.Count == 0)? null : al[0] ) as Prestador)) codigosOk=false; - + + //Seteo afiliado - Afiliado afiliado = new Afiliado(codAfiliado); - if (null==(aut.Afiliado = ((Afiliado)this.ObjectSetToArrayList( this.Db.get(afiliado) )[0]))) + al = this.ObjectSetToArrayList( this.Db.get( new Afiliado(codAfiliado) ) ); + if (null==(aut.Afiliado = ( (al.Count == 0)? null : al[0] ) as Afiliado)) codigosOk=false; - + + #endregion Se insancia prestador, prestacion y afiliado, y se asocia a aut //Seteo fecha de vencimiento como dentro de 60 días aut.FechaVencimiento = DateTime.Now.AddDays(60); - aut.Observaciones = observaciones; + aut.Observaciones = observaciones; - #warning Grabar en autorizacionController:ver manejo de codigos!!!! + //Signo prox codigo para autorizacion + AutoIncrementable c = new AutoIncrementable (); + using (c) + { + aut.Codigo = c.NextAutorizacion(); + } if (codigosOk) this.Db.set(aut); return codigosOk; + + } + + //PRE: No hay autorizaciones manuales y automaticas con mismo codigo!! + public Autorizacion obtener(int codigo) + { + //Busco manual + ArrayList al = this.ObjectSetToArrayList( this.Db.get( new AutorizacionManual(codigo) ) ); + Autorizacion a = ((al.Count == 0)? null : al[0] ) as Autorizacion; + + if (null==a) + //Busco automatica, si no hay manual para ese codigo + { + al = this.ObjectSetToArrayList( this.Db.get( new AutorizacionAutomatica(codigo) ) ); + a = ((al.Count == 0)? null : al[0] ) as Autorizacion; + } + return a; } public float evaluarAutorizacionAutomatica(String cuitPrestador, String codPrestacion, int codAfiliado, out int codAutorizacion) @@ -98,33 +125,35 @@ namespace Controlador AutorizacionAutomatica aut = new AutorizacionAutomatica(DateTime.Now); - - #region Se insancia prestador, prestacion y afiliado, y se asocia a aut + #region Se insancia prestador, prestacion y afiliado, y se asocia a aut //Seteo prestacion - Prestacion prestacion = new Prestacion(); - prestacion.Codigo=codPrestacion; - if (null==(aut.Prestacion = (Prestacion)this.ObjectSetToArrayList( this.Db.get(prestacion) )[0])) - codigosOk = false; + + ArrayList al = this.ObjectSetToArrayList( this.Db.get( new Prestacion(codPrestacion) ) ); + if (null==(aut.Prestacion = ( (al.Count == 0)? null : al[0] ) as Prestacion)) + codigosOk=false; //Seteo prestador - Prestador prestador = new Prestador(); - prestador.Cuit=cuitPrestador; - if (null==(aut.Prestador = (Prestador)this.ObjectSetToArrayList( this.Db.get(prestador) )[0])) + al = this.ObjectSetToArrayList( this.Db.get( new Prestador(cuitPrestador) ) ); + if (null==(aut.Prestador = ( (al.Count == 0)? null : al[0] ) as Prestador)) codigosOk=false; - + + //Seteo afiliado - Afiliado afiliado = new Afiliado(codAfiliado); - if (null==(aut.Afiliado = ((Afiliado)this.ObjectSetToArrayList( this.Db.get(afiliado) )[0]))) + al = this.ObjectSetToArrayList( this.Db.get( new Afiliado(codAfiliado) ) ); + if (null==(aut.Afiliado = ( (al.Count == 0)? null : al[0] ) as Afiliado)) codigosOk=false; - #endregion Se insancia prestador, prestacion y afiliado, y se asocia a aut + + #endregion Se insancia prestador, prestacion y afiliado, y se asocia a aut + //Seteo fecha de vencimiento como dentro de 60 días + //Seteo fecha de vencimiento como dentro de 60 días aut.FechaVencimiento = DateTime.Now.AddDays(60); try { - porcentajeDeCobertura = afiliado.VerificarCobertura(codPrestacion); + porcentajeDeCobertura = aut.Afiliado.VerificarCobertura(codPrestacion); } catch { @@ -172,6 +201,63 @@ namespace Controlador /// /// Reporte del cual se porcesarán las lineas + private void InsertarDatosNecesarios() + { + //PRESTADOR + Prestador pre = new Prestador(); + pre.Cuit = "11-11111111-1"; + ObjectSet os = this.Db.get( pre ); + if ( (os == null) || (os.size() == 0) ) + { + Dominio.SDireccion dir; + dir.Calle = "Gaona"; dir.CodigoPostal = "AB1504"; dir.Departamento = ""; + dir.Numero = 1234; dir.Piso = 0; dir.Provincia = Dominio.EProvincia.CAPITAL_FEDERAL; + dir.Telefono = "5056-4567"; + pre.Direccion = dir; + pre.Email = @"roberto@sancamilo.com"; + pre.FechaBaja = DateTime.MinValue; + pre.Nombre = "Clinica San Camilo"; + pre.Password = "camilo"; + pre.Zona = new SZona( "Caballito", "Zona de Caballito" ); + this.Db.set( pre ); + } + + Prestacion p = new Prestacion(); + p.Codigo = "mierda" ; + + Categoria c = new Categoria(); + c.Codigo=10; + c.Nombre="categoria 1"; + + p.Categoria = c; + p.Nombre= "hospital de clinicas"; + this.Db.set(c); + + Afiliado a = new Afiliado(69); + a.Apellido = "apellido"; + a.EMail = "afiliado@aaa.com"; + + this.Db.set(a); + + + //AUTORIZACIONES + /*AutorizacionAutomatica a = new AutorizacionAutomatica(); + a.Codigo = 123; + os = this.Db.get( a ); + if ( (os == null) || (os.size() == 0) ) + { + a.Afiliado = new Dominio.Afiliados.Afiliado( 987 ); + a.Prestacion = new Prestacion( "B01AC06" ); + a.Prestador = pre; + a.FechaSolicitud = new DateTime( 2005, 5, 20 ); // 20 de mayo + a.FechaRealizacion = DateTime.MinValue; + a.FechaVencimiento = a.FechaSolicitud.AddMonths( 2 ); // 20 de julio, aprox + a.Aprobada = true; + a.PorcentajeCobertura = 12.5F; + this.Db.set( a ); + }*/ + } + #endregion Métodos Privados } diff --git a/demo/src/Tests/TestsAutorizacion.cs b/demo/src/Tests/TestsAutorizacion.cs index 76b8092..a1a7469 100644 --- a/demo/src/Tests/TestsAutorizacion.cs +++ b/demo/src/Tests/TestsAutorizacion.cs @@ -1,5 +1,6 @@ using System; using Dominio.Autorizaciones; +using Controlador; namespace Tests { @@ -226,6 +227,36 @@ namespace Tests fecha, estado); } + public void TestSeba08_Manual_Guardar() + { + bool exitoso = false; + + // 2 de mayo, 12hs + DateTime fecha = new DateTime( 2005, 5, 2, 12, 0, 0 ); + + DateTime fechaSolicitud = new DateTime(2005,5,2, 11, 0, 0); //2 de mayo, 11hs + DateTime fechaResolucion = new DateTime(2005,5,2, 18, 0, 0); //2 de mayo, 18hs + bool aprobada = false; + DateTime fechaVencimiento = DateTime.MinValue; + DateTime fechaRealizacion = DateTime.MinValue; //No realizada + + AutorizacionManual am = this.MakeAutorizacionManual( - 1, fechaSolicitud, fechaResolucion, aprobada, + fechaRealizacion, fechaVencimiento ); + + AutorizacionController ac = new AutorizacionController(DateTime.Now); + using (ac) + { + exitoso=ac.guardarAutorizacionManual("mierda", "11-11111111-1" , 69, "observo hepatitis" ); + } + + + + + this.MostrarTest( System.Reflection.MethodInfo.GetCurrentMethod().Name, am, exitoso, + fecha ); + } + + #endregion Tests individuales #region Muestra de los tests diff --git a/demo/src/VSProject.csproj b/demo/src/VSProject.csproj index d7c37a6..3b5e3e8 100644 --- a/demo/src/VSProject.csproj +++ b/demo/src/VSProject.csproj @@ -389,11 +389,21 @@ SubType = "Code" BuildAction = "Compile" /> + + + -- 2.43.0