]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Reportes/PrestacionesRealizadasReport.cs
Hermosa ventana de consultar autorizaciones. Descubri que no se estan aprobando :S
[z.facultad/75.10/miklolife.git] / demo / src / Reportes / PrestacionesRealizadasReport.cs
1 using System;\r
2 using System.Collections;\r
3 using System.Xml;\r
4 using Dominio.Autorizaciones;\r
5 using Dominio.Afiliados;\r
6 using com.db4o;\r
7 \r
8 namespace Reportes\r
9 {\r
10         /// <summary>\r
11         /// \r
12         /// </summary>\r
13         public class PrestacionesRealizadasReport\r
14         {\r
15                 #region Constructores\r
16                 \r
17                 public PrestacionesRealizadasReport()\r
18                 {\r
19                         XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);\r
20                         xmlDoc.AppendChild(xmlDeclaration);\r
21 \r
22                         XmlElement root = this.xmlDoc.CreateElement( "informeAprRechazos" );\r
23                         root.SetAttribute( "fechaGeneracion", DateTime.Now.ToString( "yyyy-MM-dd" ) );\r
24                         \r
25                         root.AppendChild( xmlDoc.CreateElement( "lineas" ) );\r
26 \r
27                         xmlDoc.AppendChild( root );\r
28                 }\r
29 \r
30                 #endregion Constructores\r
31 \r
32                 private XmlDocument xmlDoc = new XmlDocument(); \r
33 \r
34                 #region Metodos publicos\r
35 \r
36                 public void AgregarInfo( Prestador p, DateTime fechaRecepcionInfo, LineaInfoPrestacionesReport lineaIp )\r
37                 {\r
38                         //LINEA\r
39                         XmlElement elemLinea = this.xmlDoc.CreateElement( "linea" );\r
40                         elemLinea.SetAttribute( "codigoAutorizacion", lineaIp.CodigoAutorizacion.ToString() );\r
41                         elemLinea.SetAttribute( "aprobada", lineaIp.Aprobada.ToString().ToLower() );\r
42 \r
43                         //tipoAutorizacion\r
44                         XmlElement elemTipoAut = this.xmlDoc.CreateElement( "tipoAutorizacion" );\r
45                         elemTipoAut.InnerText = lineaIp.TipoAutorizacion;\r
46                         elemLinea.AppendChild( elemTipoAut );\r
47 \r
48                         //prestador\r
49                         XmlElement elemPrestador = this.xmlDoc.CreateElement( "prestador" );\r
50                         XmlElement elemCuit = this.xmlDoc.CreateElement( "CUIT" );\r
51                         elemCuit.InnerText = p.Cuit.ToString().Trim();\r
52                         elemPrestador.AppendChild( elemCuit );\r
53                         XmlElement elemNombrePrestador = this.xmlDoc.CreateElement( "nombre" );\r
54                         elemNombrePrestador.InnerText = p.Nombre.ToString().Trim();\r
55                         elemPrestador.AppendChild( elemNombrePrestador );\r
56                         \r
57                         elemLinea.AppendChild( elemPrestador );\r
58 \r
59                         //codigoPrestacion\r
60                         XmlElement elemCodPrestacion = this.xmlDoc.CreateElement( "codigoPrestacion" );\r
61                         elemCodPrestacion.InnerText = lineaIp.CodigoPrestacion.Trim();\r
62                         elemLinea.AppendChild( elemCodPrestacion );\r
63 \r
64                         //codigoAfiliado\r
65                         XmlElement elemCodAfiliado = this.xmlDoc.CreateElement( "codigoAfiliado" );\r
66                         elemCodAfiliado.InnerText = lineaIp.CodigoAfiliado.ToString().Trim();\r
67                         elemLinea.AppendChild( elemCodAfiliado );\r
68 \r
69                         //porcentajeCoberturaReclamado\r
70                         XmlElement elemPorcentajeReclamado = this.xmlDoc.CreateElement( "porcentajeCoberturaReclamado" );\r
71                         elemPorcentajeReclamado.InnerText = lineaIp.PorcentajeCobertura.ToString().Trim();\r
72                         elemLinea.AppendChild( elemPorcentajeReclamado );\r
73 \r
74                         //Campos a completar si es que la autorizacion existe en el sistema\r
75                         if ( lineaIp.ExisteAutorizacion )\r
76                         {\r
77                                 Autorizacion a = this.getAutorizacion( lineaIp.CodigoAutorizacion );\r
78 \r
79                                 //porcentajeCoberturaReal\r
80                                 XmlElement elemPorcentajeReal = this.xmlDoc.CreateElement( "porcentajeCoberturaReal" );\r
81                                 elemPorcentajeReal.InnerText = a.PorcentajeCobertura.ToString().Trim();\r
82                                 elemLinea.AppendChild( elemPorcentajeReal );\r
83 \r
84                                 //fechaAprobacion\r
85                                 XmlElement elemFechaAprobacion = this.xmlDoc.CreateElement( "fechaAprobacion" );\r
86                                 elemFechaAprobacion.InnerText = a.FechaSolicitud.ToString( "yyyy-MM-dd" );\r
87                                 elemLinea.AppendChild( elemFechaAprobacion );\r
88 \r
89                                 //fechaVencimiento\r
90                                 XmlElement elemFechaVencimiento = this.xmlDoc.CreateElement( "fechaVencimiento" );\r
91                                 elemFechaVencimiento.InnerText = a.FechaVencimiento.ToString( "yyyy-MM-dd" );\r
92                                 elemLinea.AppendChild( elemFechaVencimiento );\r
93                         }\r
94 \r
95                         //fechaRealizacion\r
96                         XmlElement elemFechaRealizacion = this.xmlDoc.CreateElement( "fechaRealizacion" );\r
97                         elemFechaRealizacion.InnerText = lineaIp.FechaRealizacion.ToString( "yyyy-MM-dd" );\r
98                         elemLinea.AppendChild( elemFechaRealizacion );\r
99 \r
100                         //fechaRecepcionInfo\r
101                         XmlElement elemFechaRecepcionInfo = this.xmlDoc.CreateElement( "fechaRecepcionInfo" );\r
102                         elemFechaRecepcionInfo.InnerText = fechaRecepcionInfo.ToString( "yyyy-MM-dd" );\r
103                         elemLinea.AppendChild( elemFechaRecepcionInfo );\r
104 \r
105                         if ( ! lineaIp.Aprobada )\r
106                         {\r
107                                 //motivoRechazo\r
108                                 XmlElement elemMotivoRechazo = this.xmlDoc.CreateElement( "motivoRechazo" );\r
109                                 elemMotivoRechazo.InnerText = lineaIp.MotivoRechazo.Trim();\r
110                                 elemLinea.AppendChild( elemMotivoRechazo );\r
111                         }\r
112 \r
113                         //AgregoLINEA\r
114                         XmlElement lineas = xmlDoc.DocumentElement["lineas"];\r
115                         lineas.AppendChild( elemLinea );\r
116                 }\r
117 \r
118                 public override string ToString()\r
119                 {\r
120                         return xmlDoc.OuterXml;\r
121                 }\r
122 \r
123                 public void Serializar()\r
124                 {\r
125                         XmlTextWriter writer = new XmlTextWriter("c:\\borrame.xml",null);\r
126                         writer.Formatting = Formatting.Indented;\r
127                         this.xmlDoc.Save(writer);\r
128                 }\r
129 \r
130                 #endregion Metodos publicos\r
131 \r
132                 #region Metodos privados\r
133 \r
134                 private Autorizacion getAutorizacion( int codigo )\r
135                 {\r
136                         this.db = com.db4o.Db4o.openFile("os.yap");\r
137                         \r
138                         ArrayList al = new ArrayList();\r
139 \r
140                         al = this.ObjectSetToArrayList( db.get( new AutorizacionManual(codigo) ) );\r
141                         Autorizacion a = ( (al.Count == 0)? null : al[0] ) as AutorizacionManual;\r
142 \r
143                         if ( a == null )\r
144                         {\r
145                                 al = this.ObjectSetToArrayList( db.get( new AutorizacionAutomatica(codigo) ) );\r
146                                 a = ( (al.Count == 0)? null : al[0] ) as AutorizacionAutomatica;\r
147                         }\r
148 \r
149                         this.db.close();\r
150                         this.db = null;\r
151 \r
152                         return a;\r
153                 }\r
154 \r
155                 #endregion Metodos privados\r
156 \r
157                 #region DB\r
158                 private com.db4o.ObjectContainer db = null;
159
160                 private ArrayList ObjectSetToArrayList (ObjectSet result)
161                 {
162                         ArrayList lst = new ArrayList ();
163                         Object s;
164                         if (result == null)
165                                 return lst;
166         
167                         while ((s = result.next ()) != null)    \r
168                         {
169                                 lst.Add (s);
170                         }
171                         return lst;
172                 }
173
174                 #endregion DB\r
175         }\r
176 }\r