\r
using Dominio;\r
using Dominio.Autorizaciones;\r
+using Dominio.Afiliados;\r
+using Dominio.Planes;\r
using Reportes;\r
\r
using com.db4o;\r
os = this.Db.get( a );\r
if ( (os == null) || (os.size() == 0) )\r
{\r
+ Solicitante sol = new Solicitante( ETipoDocumento.DNI, 28123456, "Jorge", "Drexler" );\r
+ Plan plan = new Plan( 10F ); plan.Codigo = 3; \r
+ Afiliado afil = new Afiliado( sol, plan, new DateTime(2004, 4, 30 ) );\r
a.Afiliado = new Dominio.Afiliados.Afiliado( 987 );\r
a.Prestacion = new Prestacion( "B01AC06" );\r
a.Prestador = pre;\r
a.PorcentajeCobertura = 12.5F;\r
this.Db.set( a );\r
}\r
+ else\r
+ {\r
+ Autorizacion aut = (ObjectSetToArrayList( os )[0] as Autorizacion );\r
+ aut.FechaRealizacion = DateTime.MinValue;\r
+ this.Db.set( aut );\r
+ }\r
+ \r
}\r
\r
#endregion Creacion de Datos en la BD\r
a.FechaRealizacion = linea.FechaRealizacion;\r
this.Db.set( a );\r
\r
- //agego info al reporte de consumo\r
+ //agrego info al reporte de consumo\r
this._reporteConsumo.AgregarInfo( p, linea );\r
}\r
}\r
#endregion Constructores\r
\r
private XmlDocument xmlDoc = new XmlDocument(); \r
+ private ArrayList _listaCodigosAfiliado = new ArrayList();\r
\r
#region Metodos Publicos\r
\r
public void AgregarInfo( Prestador p, LineaInfoPrestacionesReport lineaIp )\r
{\r
- \r
+ XmlElement lineas = xmlDoc.DocumentElement["lineas"];\r
+ XmlElement elemLinea = null;\r
+\r
+ #region Datos propios de Afiliado\r
+ if ( this._listaCodigosAfiliado.Contains(lineaIp.CodigoAfiliado) )\r
+ { //Ya está el afiliado en el xml\r
+ elemLinea = lineas.SelectSingleNode( @"//linea[@codigoAfiliado='" + lineaIp.CodigoAfiliado.ToString().Trim() + "']" ) as XmlElement;\r
+ }\r
+ else\r
+ {\r
+ Afiliado a = this.getAfiliado( lineaIp.CodigoAfiliado );\r
+\r
+ //El nodo afiliado todavía no está en el xml\r
+ elemLinea = this.xmlDoc.CreateElement("linea");\r
+ elemLinea.SetAttribute( "codigoAfiliado", lineaIp.CodigoAfiliado.ToString().Trim() );\r
+ lineas.AppendChild( elemLinea );\r
+\r
+ //nombreAfiliado\r
+ XmlElement elemNombreAfiliado = this.xmlDoc.CreateElement("nombreAfiliado");\r
+ elemNombreAfiliado.InnerText = ( (a.Nombre == null)? string.Empty : a.Nombre.Trim() );\r
+ elemLinea.AppendChild( elemNombreAfiliado );\r
+\r
+ //apellidoAfiliado\r
+ XmlElement elemApellidoAfiliado = this.xmlDoc.CreateElement("apellidoAfiliado");\r
+ elemApellidoAfiliado.InnerText = ( (a.Apellido == null)? string.Empty : a.Apellido.Trim() );\r
+ elemLinea.AppendChild( elemApellidoAfiliado );\r
+ \r
+ //codigoPlanAfiliado\r
+ XmlElement elemCodigoPlanAfiliado = this.xmlDoc.CreateElement("codigoPlanAfiliado");\r
+ elemCodigoPlanAfiliado.InnerText = ( (a.PlanActual == null)? string.Empty : a.PlanActual.Codigo.ToString().Trim() );\r
+ elemLinea.AppendChild( elemCodigoPlanAfiliado );\r
+ \r
+ this._listaCodigosAfiliado.Add(lineaIp.CodigoAfiliado);\r
+ }\r
+ #endregion Datos propios de Afiliado\r
+\r
+ #region Autorizacion Realizada\r
+\r
+ //autorizacionRealizada\r
+ XmlElement elemAutorizacion = this.xmlDoc.CreateElement( "autorizacionRealizada" );\r
+ elemAutorizacion.SetAttribute( "codigo", lineaIp.CodigoAutorizacion.ToString().Trim() );\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 == null)? string.Empty : p.Nombre.ToString().Trim());\r
+ elemPrestador.AppendChild( elemNombrePrestador );\r
+ elemAutorizacion.AppendChild( elemPrestador );\r
+\r
+ //codigoPrestacion\r
+ XmlElement elemCodPrestacion = this.xmlDoc.CreateElement( "codigoPrestacion" );\r
+ elemCodPrestacion.InnerText = lineaIp.CodigoPrestacion.Trim();\r
+ elemAutorizacion.AppendChild( elemCodPrestacion );\r
+\r
+ //nombrePrestacion\r
+ Prestacion prestacion = this.getPrestacion( lineaIp.CodigoPrestacion );\r
+ XmlElement elemNombrePrestacion = this.xmlDoc.CreateElement( "nombrePrestacion" );\r
+ elemNombrePrestacion.InnerText = ( (prestacion.Nombre == null)? string.Empty : prestacion.Nombre.Trim() );\r
+ elemAutorizacion.AppendChild( elemNombrePrestacion );\r
+\r
+ //fechaRealizacion\r
+ XmlElement elemFechaRealizacion = this.xmlDoc.CreateElement( "fechaRealizacion" );\r
+ elemFechaRealizacion.InnerText = lineaIp.FechaRealizacion.ToString( "yyyy-MM-dd" );\r
+ elemAutorizacion.AppendChild( elemFechaRealizacion );\r
+ \r
+ //porcentajeCobertura\r
+ XmlElement elemPorcentaje = this.xmlDoc.CreateElement( "porcentajeCobertura" );\r
+ elemPorcentaje.InnerText = lineaIp.PorcentajeCobertura.ToString().Trim();\r
+ elemAutorizacion.AppendChild( elemPorcentaje );\r
+\r
+ elemLinea.AppendChild( elemAutorizacion );\r
+\r
+ #endregion Autorizacion Realizada\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:\\rc_borrame.xml",null);\r
+ writer.Formatting = Formatting.Indented;\r
+ this.xmlDoc.Save(writer);\r
}\r
\r
#endregion Metodos Publicos\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( codigo ) ) );\r
\r
- #region Metodos privados\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( codigo ) ) );\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
return a;\r
}\r
\r
- #endregion Metodos privados\r
+ #endregion Métodos Privados\r
\r
#region DB\r
private com.db4o.ObjectContainer db = null;