using Dominio.Autorizaciones;\r
using Dominio.Afiliados;\r
\r
-\r
+
+using com.db4o;
+using com.db4o.query;
+
#endregion Usings\r
\r
namespace Controlador\r
, int codAfiliado, String observaciones)\r
{\r
bool codigosOk = true;\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)
\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
{
}
\r
public ArrayList obtenerAutorizacionesPendientes()\r
+ {
+ Query query = Db.query();
+ query.constrain(typeof(AutorizacionManual));
+ query.descend("_fechaRealizacion").constrain(DateTime.MinValue);
+
+ ObjectSet result = query.execute ();
+
+ return ObjectSetToArrayList (result);
+ }
+
+ 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
- \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
+ 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
\r
\r
#endregion Métodos Públicos\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