using Dominio.Autorizaciones;\r
using Reportes;\r
\r
+using com.db4o;\r
+\r
#endregion Usings\r
\r
namespace Controlador\r
\r
#region Campos Privados \r
\r
- private ConsumoAfiliadosReport _reporteConsumo = null;\r
- private PrestacionesRealizadasReport _reporteAprobaciones = null;\r
+ private ConsumoAfiliadosReport _reporteConsumo = new ConsumoAfiliadosReport();\r
+ private PrestacionesRealizadasReport _reporteAprobaciones = new PrestacionesRealizadasReport();\r
\r
#endregion Campos Privados\r
\r
- #region Métodos Públicos\r
- \r
- /// <summary>\r
- /// Dispara el proceso de recepción y procesamiento de la info recibida de los Presadores\r
- /// </summary>\r
- public void procesarInfoRecibida()\r
+ #region Creacion de Datos en la BD\r
+ public void InsertarDatosNecesarios()\r
{\r
- try\r
+ //PRESTADOR\r
+ Prestador pre = new Prestador();\r
+ pre.Cuit = "30-12345678-1";\r
+ ObjectSet os = this.Db.get( pre );\r
+ if ( (os == null) || (os.size() == 0) )\r
{\r
- #region Creacion de Prestador para test\r
- //Para test:\r
- /*Prestador pre = new Prestador();\r
- pre.Cuit = "30-12345678-1";\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
pre.Nombre = "Clinica San Camilo";\r
pre.Password = "camilo";\r
pre.Zona = new SZona( "Caballito", "Zona de Caballito" );\r
- this.Db.set( pre );*/\r
- //Para test\r
- #endregion Creacion de Prestador para test \r
+ this.Db.set( pre );\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 Creacion de Datos en la BD\r
+\r
+ #region Métodos Públicos\r
+ \r
+ /// <summary>\r
+ /// Dispara el proceso de recepción y procesamiento de la info recibida de los Presadores\r
+ /// </summary>\r
+ public void procesarInfoRecibida()\r
+ {\r
+ try\r
+ {\r
//1. Obtener todos los prestadores\r
ArrayList prestadores = this.ObjectSetToArrayList( this.Db.get(new Prestador()) );\r
\r
if ( (ip.ValidarFormato()) && ( ip.CuitPrestador == p.Cuit ) )\r
{ //OK\r
ip.ValidarLineas( p ); //Las marca como aprobadas/rechazadas\r
- this.ProcesarLineas( ip );\r
+ this.ProcesarLineas( p, ip );\r
ipAdmin.MoverArchivoAceptado( ip );\r
this.NotificarPrestador( NotificacionPrestador.Tipo.ProcesoExitoso, ip );\r
}\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
- private void ProcesarLineas( InfoPrestacionesReport ip )\r
+ private void ProcesarLineas( Prestador p, InfoPrestacionesReport ip )\r
{\r
- //this._reporteAprobaciones = new \r
+ foreach ( LineaInfoPrestacionesReport linea in ip.Lineas )\r
+ {\r
+ this._reporteAprobaciones.AgregarInfo( p, ip.FechaEnvio, linea );\r
+\r
+ if ( linea.Aprobada )\r
+ {\r
+ //actualizo en el sistema\r
+ Autorizacion a = this.getAutorizacion( linea.CodigoAutorizacion );\r
+ a.FechaRealizacion = linea.FechaRealizacion;\r
+ this.Db.set( a );\r
+ \r
+ //agego info al reporte de consumo\r
+ this._reporteConsumo.AgregarInfo( p, linea );\r
+ }\r
+ }\r
}\r
\r
private void NotificarPrestador( NotificacionPrestador.Tipo tipoNotif, InfoPrestacionesReport ip )\r
\r
}\r
\r
+\r
+ private Autorizacion getAutorizacion( int codigo )\r
+ { \r
+ ArrayList al = new ArrayList();\r
+\r
+ al = this.ObjectSetToArrayList( this.Db.get( new AutorizacionManual(codigo) ) );\r
+ Autorizacion a = ( (al.Count == 0)? null : al[0] ) as AutorizacionManual;\r
+\r
+ if ( a == null )\r
+ {\r
+ al = this.ObjectSetToArrayList( this.Db.get( new AutorizacionAutomatica(codigo) ) );\r
+ a = ( (al.Count == 0)? null : al[0] ) as AutorizacionAutomatica;\r
+ }\r
+\r
+ return a;\r
+ }\r
+\r
#endregion Métodos Privados\r
\r
}\r
using System;\r
+using System.Collections;\r
+using System.Xml;\r
+using Dominio.Autorizaciones;\r
+using Dominio.Afiliados;\r
+using com.db4o;\r
+\r
\r
namespace Reportes\r
{\r
/// </summary>\r
public class ConsumoAfiliadosReport\r
{\r
+ #region Constructores\r
+ \r
public ConsumoAfiliadosReport()\r
{\r
+ XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);\r
+ xmlDoc.AppendChild(xmlDeclaration);\r
+\r
+ XmlElement root = this.xmlDoc.CreateElement( "reporteConsumo" );\r
+ root.SetAttribute( "fechaGeneracion", DateTime.Now.ToString( "yyyy-MM-dd" ) );\r
+ \r
+ root.AppendChild( xmlDoc.CreateElement( "lineas" ) );\r
+\r
+ xmlDoc.AppendChild( root );\r
+ }\r
+\r
+ #endregion Constructores\r
+\r
+ private XmlDocument xmlDoc = new XmlDocument(); \r
+\r
+ #region Metodos Publicos\r
+\r
+ public void AgregarInfo( Prestador p, LineaInfoPrestacionesReport lineaIp )\r
+ {\r
+ \r
+ }\r
+\r
+ #endregion Metodos Publicos\r
+\r
+\r
+ #region Metodos privados\r
+\r
+ private Autorizacion getAutorizacion( int codigo )\r
+ {\r
+ this.db = com.db4o.Db4o.openFile("os.yap");\r
+ \r
+ ArrayList al = new ArrayList();\r
+\r
+ al = this.ObjectSetToArrayList( db.get( new AutorizacionManual(codigo) ) );\r
+ Autorizacion a = ( (al.Count == 0)? null : al[0] ) as AutorizacionManual;\r
+\r
+ if ( a == null )\r
+ {\r
+ al = this.ObjectSetToArrayList( db.get( new AutorizacionAutomatica(codigo) ) );\r
+ a = ( (al.Count == 0)? null : al[0] ) as AutorizacionAutomatica;\r
+ }\r
+\r
+ this.db.close();\r
+ this.db = null;\r
+\r
+ return a;\r
}\r
+\r
+ #endregion Metodos privados\r
+\r
+ #region DB\r
+ private com.db4o.ObjectContainer db = null;
+
+ private ArrayList ObjectSetToArrayList (ObjectSet result)
+ {
+ ArrayList lst = new ArrayList ();
+ Object s;
+ if (result == null)
+ return lst;
+
+ while ((s = result.next ()) != null) \r
+ {
+ lst.Add (s);
+ }
+ return lst;
+ }
+
+ #endregion DB\r
+\r
+ \r
}\r
}\r
{\r
if ( reporteConsumo == null )\r
return;\r
+ else\r
+ Console.WriteLine( reporteConsumo.ToString() );\r
}\r
\r
public void EnviarReporte( PrestacionesRealizadasReport informeAprobaciones )\r
{\r
if ( informeAprobaciones == null )\r
return;\r
+ else\r
+ informeAprobaciones.Serializar();\r
+\r
}\r
\r
public void MoverArchivoAceptado( InfoPrestacionesReport ip )\r
\r
#region Campos Privados\r
\r
- private bool _esBienFormado = true;\r
-\r
private string _pathArchivo = string.Empty;\r
private string _cuitPrestador;\r
private DateTime _fechaEnvio;\r
using System;\r
+using System.Collections;\r
+using com.db4o;\r
+using Dominio.Afiliados;\r
+using Dominio.Autorizaciones;\r
+//using Dominio.Planes;\r
\r
namespace Reportes\r
{\r
#region Campos Privados\r
\r
private bool _aprobada = false;\r
+ private bool _existeAutorizacion = false;\r
private string _motivoRechazo = string.Empty;\r
\r
private int _codigoAutorizacion;\r
get { return this._aprobada; }\r
}\r
\r
+ public bool ExisteAutorizacion\r
+ {\r
+ get { return this._existeAutorizacion; }\r
+ }\r
+\r
/// <summary>\r
/// Motivo por el cual se rechazó la línea, si es que se rechazó.\r
/// En caso de haberse aprobado, debe estar vacío\r
\r
#endregion Propiedades Públicas\r
\r
+ #region DB\r
+ private com.db4o.ObjectContainer db = null;
+
+ private ArrayList ObjectSetToArrayList (ObjectSet result)
+ {
+ ArrayList lst = new ArrayList ();
+ Object s;
+ if (result == null)
+ return lst;
+
+ while ((s = result.next ()) != null) \r
+ {
+ lst.Add (s);
+ }
+ return lst;
+ }
+
+ #endregion DB\r
+\r
#region Métodos Públicos\r
\r
/// <summary>\r
/// <returns>True si la linea es válida</returns>\r
public bool Validar( Dominio.Autorizaciones.Prestador prestador )\r
{ \r
- bool resultado = false;\r
+ #region Chequeo de la autorización\r
+\r
+ Autorizacion aut = this.getAutorizacion( this.CodigoAutorizacion );\r
+ if ( aut == null )\r
+ {\r
+ this.MarcarRechazada( MensajeMotivoRechazo.AutorizacionInexistente );\r
+ this._existeAutorizacion = false;\r
+ return false;\r
+ }\r
+ else\r
+ {\r
+ this._existeAutorizacion = true;\r
+\r
+ if ( (aut.Prestador == null) || (aut.Prestador.Cuit != prestador.Cuit) )\r
+ {\r
+ this.MarcarRechazada( MensajeMotivoRechazo.AutorizacionPrestadorInvalido );\r
+ return false;\r
+ }\r
+\r
+ if ( (aut.Prestacion == null) || (aut.Prestacion.Codigo != this.CodigoPrestacion) )\r
+ {\r
+ this.MarcarRechazada( MensajeMotivoRechazo.AutorizacionPrestacionInvalida );\r
+ return false;\r
+ }\r
+\r
+ if ( aut.FechaRealizacion != DateTime.MinValue )\r
+ {\r
+ this.MarcarRechazada( MensajeMotivoRechazo.AutorizacionYaRealizada );\r
+ return false;\r
+ }\r
+ \r
+ if ( aut.getEstado(this.FechaRealizacion) != Autorizacion.Estado.Aprobada )\r
+ {\r
+ this.MarcarRechazada( MensajeMotivoRechazo.AutorizacionNoAprobada );\r
+ return false;\r
+ }\r
+\r
+ if ( this.TipoAutorizacion.Trim() == "Manual" )\r
+ {\r
+ if ( aut.GetType() != typeof(AutorizacionManual) )\r
+ {\r
+ this.MarcarRechazada( MensajeMotivoRechazo.AutorizacionTipoInvalido );\r
+ return false;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ if ( aut.GetType() != typeof(AutorizacionAutomatica) )\r
+ {\r
+ this.MarcarRechazada( MensajeMotivoRechazo.AutorizacionTipoInvalido );\r
+ return false;\r
+ }\r
+ }\r
+\r
+ if ( aut.PorcentajeCobertura != this.PorcentajeCobertura )\r
+ {\r
+ this.MarcarRechazada( MensajeMotivoRechazo.AutorizacionPorcentajeInvalido );\r
+ return false;\r
+ }\r
+ }\r
+\r
+ #endregion Chequeo de la autorización\r
+\r
+ #region Chequeo de Prestador\r
+ if ( (prestador.FechaBaja != DateTime.MinValue) && (prestador.FechaBaja <= this.FechaRealizacion) )\r
+ {\r
+ this.MarcarRechazada( MensajeMotivoRechazo.PrestadorDadoDeBaja );\r
+ return false;\r
+ }\r
+ #endregion Chequeo de Prestador\r
\r
- return resultado;\r
+ #region Chequeo del Afiliado\r
+ Afiliado a = this.getAfiliado( this.CodigoAfiliado );\r
+ if (a == null) \r
+ {\r
+ this.MarcarRechazada( MensajeMotivoRechazo.AfiliadoInexistente );\r
+ return false;\r
+ }\r
+ else\r
+ if ( (a.FechaBaja != DateTime.MinValue) && (a.FechaBaja <= this.FechaRealizacion) )\r
+ {\r
+ this.MarcarRechazada( MensajeMotivoRechazo.AfiliadoDadoDeBaja );\r
+ return false;\r
+ }\r
+ #endregion Chequeo del Afiliado\r
+ \r
+ #region Chequeo de la prestación\r
+\r
+ Prestacion p = this.getPrestacion( this.CodigoPrestacion );\r
+ if ( p == null )\r
+ {\r
+ this.MarcarRechazada( MensajeMotivoRechazo.PrestacionInexistente );\r
+ return false;\r
+ }\r
+ else\r
+ {\r
+ if ( (p.FechaBaja != DateTime.MinValue) && (p.FechaBaja <= this.FechaRealizacion) )\r
+ {\r
+ this.MarcarRechazada( MensajeMotivoRechazo.PrestacionDadaDeBaja );\r
+ return false;\r
+ }\r
+ }\r
+\r
+ #endregion Chequeo de la prestación\r
+\r
+ this._aprobada = true;\r
+ return true;\r
}\r
\r
#endregion Métodos Públicos\r
+\r
+ #region Métodos Privados\r
+\r
+ private Afiliado getAfiliado( int codigo )\r
+ {\r
+ this.db = com.db4o.Db4o.openFile("os.yap");\r
+ ArrayList al = this.ObjectSetToArrayList( db.get( new Afiliado(this.CodigoAfiliado) ) );\r
+\r
+ Afiliado a = ( (al.Count == 0)? null : al[0] ) as Afiliado;\r
+ this.db.close();\r
+ this.db = null;\r
+\r
+ return a;\r
+ }\r
+\r
+ private Prestacion getPrestacion( string codigo )\r
+ {\r
+ this.db = com.db4o.Db4o.openFile("os.yap");\r
+ ArrayList al = this.ObjectSetToArrayList( db.get( new Prestacion(this.CodigoPrestacion) ) );\r
+\r
+ Prestacion p = ( (al.Count == 0)? null : al[0] ) as Prestacion;\r
+ this.db.close();\r
+ this.db = null;\r
+\r
+ return p;\r
+ }\r
+\r
+ private Autorizacion getAutorizacion( int codigo )\r
+ {\r
+ this.db = com.db4o.Db4o.openFile("os.yap");\r
+ \r
+ ArrayList al = new ArrayList();\r
+\r
+ al = this.ObjectSetToArrayList( db.get( new AutorizacionManual(codigo) ) );\r
+ Autorizacion a = ( (al.Count == 0)? null : al[0] ) as AutorizacionManual;\r
+\r
+ if ( a == null )\r
+ {\r
+ al = this.ObjectSetToArrayList( db.get( new AutorizacionAutomatica(codigo) ) );\r
+ a = ( (al.Count == 0)? null : al[0] ) as AutorizacionAutomatica;\r
+ }\r
+\r
+ this.db.close();\r
+ this.db = null;\r
+\r
+ return a;\r
+ }\r
+\r
+ private void MarcarRechazada( string motivo )\r
+ {\r
+ this._aprobada = false;\r
+ this._motivoRechazo = motivo;\r
+ }\r
+\r
+ #endregion Métodos Privados\r
+\r
+ } //clase\r
+\r
+ #region Motivos de rechazo\r
+\r
+ public struct MensajeMotivoRechazo\r
+ {\r
+ public static string PrestadorDadoDeBaja = "El prestador estaba dado de baja en la fecha de realización de la prestación informada por el prestador";\r
+ public static string AfiliadoDadoDeBaja = "El afiliado estaba dado de baja en la fecha de realización de la prestación informada por el prestador";\r
+ public static string AfiliadoInexistente = "El afiliado informado por el prestador no existe en el Sistema";\r
+ public static string PrestacionDadaDeBaja = "La prestación estaba dada de baja en la fecha de realización de la prestación informada por el prestador";\r
+ public static string PrestacionInexistente = "La prestación informada por el prestador no existe en el Sistema";\r
+\r
+ public static string AutorizacionInexistente = "La autorizacion informada por el prestador no existe en el Sistema";\r
+ public static string AutorizacionPrestadorInvalido = "La autorizacion informada por el prestador no esta relacionada, en el Sistema, con dicho prestador";\r
+ public static string AutorizacionAfiliadoInvalido = "La autorizacion informada por el prestador no esta relacionada, en el Sistema, con el afiliado informado";\r
+ public static string AutorizacionPrestacionInvalida = "La autorizacion informada por el prestador no esta relacionada, en el Sistema, con la prestacion informada";\r
+ public static string AutorizacionYaRealizada = "La autorizacion informada por el prestador ya ha sido realizada, segun los datos del Sistema";\r
+ public static string AutorizacionNoAprobada = "La autorizacion no estaba aprobada, segun los datos del Sistema, en la fecha de realizacion informada por el prestador";\r
+ public static string AutorizacionTipoInvalido = "El tipo de autorizacion informado por el prestador, no coincide con el tipo de autorizacion en el Sistema";\r
+ public static string AutorizacionPorcentajeInvalido = "El porcentaje de cobertura informado por el prestador, es distinto al que se aplicaba al momento de la aprobación de la autorización, segun los datos del Sistema";\r
+\r
}\r
+\r
+ #endregion Motivos de rechazo\r
+\r
+\r
}\r
using System;\r
+using System.Collections;\r
+using System.Xml;\r
+using Dominio.Autorizaciones;\r
+using Dominio.Afiliados;\r
+using com.db4o;\r
\r
namespace Reportes\r
{\r
\r
public PrestacionesRealizadasReport()\r
{\r
+ XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);\r
+ xmlDoc.AppendChild(xmlDeclaration);\r
+\r
+ XmlElement root = this.xmlDoc.CreateElement( "informeAprRechazos" );\r
+ root.SetAttribute( "fechaGeneracion", DateTime.Now.ToString( "yyyy-MM-dd" ) );\r
+ \r
+ root.AppendChild( xmlDoc.CreateElement( "lineas" ) );\r
+\r
+ xmlDoc.AppendChild( root );\r
}\r
\r
#endregion Constructores\r
+\r
+ private XmlDocument xmlDoc = new XmlDocument(); \r
+\r
+ #region Metodos publicos\r
+\r
+ public void AgregarInfo( Prestador p, DateTime fechaRecepcionInfo, LineaInfoPrestacionesReport lineaIp )\r
+ {\r
+ //LINEA\r
+ XmlElement elemLinea = this.xmlDoc.CreateElement( "linea" );\r
+ elemLinea.SetAttribute( "codigoAutorizacion", lineaIp.CodigoAutorizacion.ToString() );\r
+ elemLinea.SetAttribute( "aprobada", lineaIp.Aprobada.ToString().ToLower() );\r
+\r
+ //tipoAutorizacion\r
+ XmlElement elemTipoAut = this.xmlDoc.CreateElement( "tipoAutorizacion" );\r
+ elemTipoAut.InnerText = lineaIp.TipoAutorizacion;\r
+ elemLinea.AppendChild( elemTipoAut );\r
+\r
+ //prestador\r
+ XmlElement elemPrestador = this.xmlDoc.CreateElement( "prestador" );\r
+ XmlElement elemCuit = this.xmlDoc.CreateElement( "CUIT" );\r
+ elemCuit.InnerText = p.Cuit.ToString().Trim();\r
+ elemPrestador.AppendChild( elemCuit );\r
+ XmlElement elemNombrePrestador = this.xmlDoc.CreateElement( "nombre" );\r
+ elemNombrePrestador.InnerText = p.Nombre.ToString().Trim();\r
+ elemPrestador.AppendChild( elemNombrePrestador );\r
+ \r
+ elemLinea.AppendChild( elemPrestador );\r
+\r
+ //codigoPrestacion\r
+ XmlElement elemCodPrestacion = this.xmlDoc.CreateElement( "codigoPrestacion" );\r
+ elemCodPrestacion.InnerText = lineaIp.CodigoPrestacion.Trim();\r
+ elemLinea.AppendChild( elemCodPrestacion );\r
+\r
+ //codigoAfiliado\r
+ XmlElement elemCodAfiliado = this.xmlDoc.CreateElement( "codigoAfiliado" );\r
+ elemCodAfiliado.InnerText = lineaIp.CodigoAfiliado.ToString().Trim();\r
+ elemLinea.AppendChild( elemCodAfiliado );\r
+\r
+ //porcentajeCoberturaReclamado\r
+ XmlElement elemPorcentajeReclamado = this.xmlDoc.CreateElement( "porcentajeCoberturaReclamado" );\r
+ elemPorcentajeReclamado.InnerText = lineaIp.PorcentajeCobertura.ToString().Trim();\r
+ elemLinea.AppendChild( elemPorcentajeReclamado );\r
+\r
+ //Campos a completar si es que la autorizacion existe en el sistema\r
+ if ( lineaIp.ExisteAutorizacion )\r
+ {\r
+ Autorizacion a = this.getAutorizacion( lineaIp.CodigoAutorizacion );\r
+\r
+ //porcentajeCoberturaReal\r
+ XmlElement elemPorcentajeReal = this.xmlDoc.CreateElement( "porcentajeCoberturaReal" );\r
+ elemPorcentajeReal.InnerText = a.PorcentajeCobertura.ToString().Trim();\r
+ elemLinea.AppendChild( elemPorcentajeReal );\r
+\r
+ //fechaAprobacion\r
+ XmlElement elemFechaAprobacion = this.xmlDoc.CreateElement( "fechaAprobacion" );\r
+ elemFechaAprobacion.InnerText = a.FechaSolicitud.ToString( "yyyy-MM-dd" );\r
+ elemLinea.AppendChild( elemFechaAprobacion );\r
+\r
+ //fechaVencimiento\r
+ XmlElement elemFechaVencimiento = this.xmlDoc.CreateElement( "fechaVencimiento" );\r
+ elemFechaVencimiento.InnerText = a.FechaVencimiento.ToString( "yyyy-MM-dd" );\r
+ elemLinea.AppendChild( elemFechaVencimiento );\r
+ }\r
+\r
+ //fechaRealizacion\r
+ XmlElement elemFechaRealizacion = this.xmlDoc.CreateElement( "fechaRealizacion" );\r
+ elemFechaRealizacion.InnerText = lineaIp.FechaRealizacion.ToString( "yyyy-MM-dd" );\r
+ elemLinea.AppendChild( elemFechaRealizacion );\r
+\r
+ //fechaRecepcionInfo\r
+ XmlElement elemFechaRecepcionInfo = this.xmlDoc.CreateElement( "fechaRecepcionInfo" );\r
+ elemFechaRecepcionInfo.InnerText = fechaRecepcionInfo.ToString( "yyyy-MM-dd" );\r
+ elemLinea.AppendChild( elemFechaRecepcionInfo );\r
+\r
+ if ( ! lineaIp.Aprobada )\r
+ {\r
+ //motivoRechazo\r
+ XmlElement elemMotivoRechazo = this.xmlDoc.CreateElement( "motivoRechazo" );\r
+ elemMotivoRechazo.InnerText = lineaIp.MotivoRechazo.Trim();\r
+ elemLinea.AppendChild( elemMotivoRechazo );\r
+ }\r
+\r
+ //AgregoLINEA\r
+ XmlElement lineas = xmlDoc.DocumentElement["lineas"];\r
+ lineas.AppendChild( elemLinea );\r
+ }\r
+\r
+ public override string ToString()\r
+ {\r
+ return xmlDoc.OuterXml;\r
+ }\r
+\r
+ public void Serializar()\r
+ {\r
+ XmlTextWriter writer = new XmlTextWriter("c:\\borrame.xml",null);\r
+ writer.Formatting = Formatting.Indented;\r
+ this.xmlDoc.Save(writer);\r
+\r
+ }\r
+\r
+ #endregion Metodos publicos\r
+\r
+ #region Metodos privados\r
+\r
+ private Autorizacion getAutorizacion( int codigo )\r
+ {\r
+ this.db = com.db4o.Db4o.openFile("os.yap");\r
+ \r
+ ArrayList al = new ArrayList();\r
+\r
+ al = this.ObjectSetToArrayList( db.get( new AutorizacionManual(codigo) ) );\r
+ Autorizacion a = ( (al.Count == 0)? null : al[0] ) as AutorizacionManual;\r
+\r
+ if ( a == null )\r
+ {\r
+ al = this.ObjectSetToArrayList( db.get( new AutorizacionAutomatica(codigo) ) );\r
+ a = ( (al.Count == 0)? null : al[0] ) as AutorizacionAutomatica;\r
+ }\r
+\r
+ this.db.close();\r
+ this.db = null;\r
+\r
+ return a;\r
+ }\r
+\r
+ #endregion Metodos privados\r
+\r
+ #region DB\r
+ private com.db4o.ObjectContainer db = null;
+
+ private ArrayList ObjectSetToArrayList (ObjectSet result)
+ {
+ ArrayList lst = new ArrayList ();
+ Object s;
+ if (result == null)
+ return lst;
+
+ while ((s = result.next ()) != null) \r
+ {
+ lst.Add (s);
+ }
+ return lst;
+ }
+
+ #endregion DB\r
}\r
}\r