2 using System.Collections;
\r
4 using Dominio.Autorizaciones;
\r
5 using Dominio.Afiliados;
\r
7 using System.Configuration;
\r
16 public class PrestacionesRealizadasReport
\r
18 #region Constructores
\r
20 public PrestacionesRealizadasReport()
\r
22 XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);
\r
23 xmlDoc.AppendChild(xmlDeclaration);
\r
25 XmlElement root = this.xmlDoc.CreateElement( "informeAprRechazos" );
\r
26 root.SetAttribute( "fechaGeneracion", DateTime.Now.ToString( "yyyy-MM-dd" ) );
\r
28 root.AppendChild( xmlDoc.CreateElement( "lineas" ) );
\r
30 xmlDoc.AppendChild( root );
\r
33 #endregion Constructores
\r
35 private XmlDocument xmlDoc = new XmlDocument();
\r
37 #region Metodos publicos
\r
39 public void AgregarInfo( Prestador p, DateTime fechaRecepcionInfo, LineaInfoPrestacionesReport lineaIp )
\r
42 XmlElement elemLinea = this.xmlDoc.CreateElement( "linea" );
\r
43 elemLinea.SetAttribute( "codigoAutorizacion", lineaIp.CodigoAutorizacion.ToString() );
\r
44 elemLinea.SetAttribute( "aprobada", lineaIp.Aprobada.ToString().ToLower() );
\r
47 XmlElement elemTipoAut = this.xmlDoc.CreateElement( "tipoAutorizacion" );
\r
48 elemTipoAut.InnerText = lineaIp.TipoAutorizacion;
\r
49 elemLinea.AppendChild( elemTipoAut );
\r
52 XmlElement elemPrestador = this.xmlDoc.CreateElement( "prestador" );
\r
53 XmlElement elemCuit = this.xmlDoc.CreateElement( "CUIT" );
\r
54 elemCuit.InnerText = p.Cuit.ToString().Trim();
\r
55 elemPrestador.AppendChild( elemCuit );
\r
56 XmlElement elemNombrePrestador = this.xmlDoc.CreateElement( "nombre" );
\r
57 elemNombrePrestador.InnerText = p.Nombre.ToString().Trim();
\r
58 elemPrestador.AppendChild( elemNombrePrestador );
\r
60 elemLinea.AppendChild( elemPrestador );
\r
63 XmlElement elemCodPrestacion = this.xmlDoc.CreateElement( "codigoPrestacion" );
\r
64 elemCodPrestacion.InnerText = lineaIp.CodigoPrestacion.Trim();
\r
65 elemLinea.AppendChild( elemCodPrestacion );
\r
68 XmlElement elemCodAfiliado = this.xmlDoc.CreateElement( "codigoAfiliado" );
\r
69 elemCodAfiliado.InnerText = lineaIp.CodigoAfiliado.ToString().Trim();
\r
70 elemLinea.AppendChild( elemCodAfiliado );
\r
72 //porcentajeCoberturaReclamado
\r
73 XmlElement elemPorcentajeReclamado = this.xmlDoc.CreateElement( "porcentajeCoberturaReclamado" );
\r
74 elemPorcentajeReclamado.InnerText = lineaIp.PorcentajeCobertura.ToString().Trim();
\r
75 elemLinea.AppendChild( elemPorcentajeReclamado );
\r
77 //Campos a completar si es que la autorizacion existe en el sistema
\r
78 if ( lineaIp.ExisteAutorizacion )
\r
80 Autorizacion a = this.getAutorizacion( lineaIp.CodigoAutorizacion );
\r
82 //porcentajeCoberturaReal
\r
83 XmlElement elemPorcentajeReal = this.xmlDoc.CreateElement( "porcentajeCoberturaReal" );
\r
84 elemPorcentajeReal.InnerText = a.PorcentajeCobertura.ToString().Trim();
\r
85 elemLinea.AppendChild( elemPorcentajeReal );
\r
88 XmlElement elemFechaAprobacion = this.xmlDoc.CreateElement( "fechaAprobacion" );
\r
89 elemFechaAprobacion.InnerText = a.FechaSolicitud.ToString( "yyyy-MM-dd" );
\r
90 elemLinea.AppendChild( elemFechaAprobacion );
\r
93 XmlElement elemFechaVencimiento = this.xmlDoc.CreateElement( "fechaVencimiento" );
\r
94 elemFechaVencimiento.InnerText = a.FechaVencimiento.ToString( "yyyy-MM-dd" );
\r
95 elemLinea.AppendChild( elemFechaVencimiento );
\r
99 XmlElement elemFechaRealizacion = this.xmlDoc.CreateElement( "fechaRealizacion" );
\r
100 elemFechaRealizacion.InnerText = lineaIp.FechaRealizacion.ToString( "yyyy-MM-dd" );
\r
101 elemLinea.AppendChild( elemFechaRealizacion );
\r
103 //fechaRecepcionInfo
\r
104 XmlElement elemFechaRecepcionInfo = this.xmlDoc.CreateElement( "fechaRecepcionInfo" );
\r
105 elemFechaRecepcionInfo.InnerText = fechaRecepcionInfo.ToString( "yyyy-MM-dd" );
\r
106 elemLinea.AppendChild( elemFechaRecepcionInfo );
\r
108 if ( ! lineaIp.Aprobada )
\r
111 XmlElement elemMotivoRechazo = this.xmlDoc.CreateElement( "motivoRechazo" );
\r
112 elemMotivoRechazo.InnerText = lineaIp.MotivoRechazo.Trim();
\r
113 elemLinea.AppendChild( elemMotivoRechazo );
\r
117 XmlElement lineas = xmlDoc.DocumentElement["lineas"];
\r
118 lineas.AppendChild( elemLinea );
\r
121 public override string ToString()
\r
123 return xmlDoc.OuterXml;
\r
126 public void Serializar()
\r
128 string currentDir = Directory.GetCurrentDirectory();
\r
129 string dirPagos = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioPagos"] );
\r
130 if ( ! Directory.Exists(dirPagos) )
\r
132 Directory.CreateDirectory( dirPagos );
\r
137 string baseFileName = "rp_" + DateTime.Now.ToString("yyyy-MM-dd") + "_";
\r
138 string pathName = Path.Combine( dirPagos, baseFileName + secuencia.ToString("00") + ".xml" );
\r
140 while ( File.Exists(pathName) )
\r
143 pathName = Path.Combine( dirPagos, baseFileName + secuencia.ToString("00") + ".xml");
\r
146 XmlTextWriter writer = new XmlTextWriter( pathName, null );
\r
147 writer.Formatting = Formatting.Indented;
\r
148 this.xmlDoc.Save(writer);
\r
151 #endregion Metodos publicos
\r
153 #region Metodos privados
\r
155 private Autorizacion getAutorizacion( int codigo )
\r
157 this.db = com.db4o.Db4o.openFile("os.yap");
\r
159 ArrayList al = new ArrayList();
\r
161 al = this.ObjectSetToArrayList( db.get( new AutorizacionManual(codigo) ) );
\r
162 Autorizacion a = ( (al.Count == 0)? null : al[0] ) as AutorizacionManual;
\r
166 al = this.ObjectSetToArrayList( db.get( new AutorizacionAutomatica(codigo) ) );
\r
167 a = ( (al.Count == 0)? null : al[0] ) as AutorizacionAutomatica;
\r
176 #endregion Metodos privados
\r
179 private com.db4o.ObjectContainer db = null;
181 private ArrayList ObjectSetToArrayList (ObjectSet result)
183 ArrayList lst = new ArrayList ();
188 while ((s = result.next ()) != null)
\r