]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Reportes/PrestacionesRealizadasReport.cs
Bocha de cosas difíciles y largas de explicar :P
[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 \r
131                 #endregion Metodos publicos\r
132 \r
133                 #region Metodos privados\r
134 \r
135                 private Autorizacion getAutorizacion( int codigo )\r
136                 {\r
137                         this.db = com.db4o.Db4o.openFile("os.yap");\r
138                         \r
139                         ArrayList al = new ArrayList();\r
140 \r
141                         al = this.ObjectSetToArrayList( db.get( new AutorizacionManual(codigo) ) );\r
142                         Autorizacion a = ( (al.Count == 0)? null : al[0] ) as AutorizacionManual;\r
143 \r
144                         if ( a == null )\r
145                         {\r
146                                 al = this.ObjectSetToArrayList( db.get( new AutorizacionAutomatica(codigo) ) );\r
147                                 a = ( (al.Count == 0)? null : al[0] ) as AutorizacionAutomatica;\r
148                         }\r
149 \r
150                         this.db.close();\r
151                         this.db = null;\r
152 \r
153                         return a;\r
154                 }\r
155 \r
156                 #endregion Metodos privados\r
157 \r
158                 #region DB\r
159                 private com.db4o.ObjectContainer db = null;
160
161                 private ArrayList ObjectSetToArrayList (ObjectSet result)
162                 {
163                         ArrayList lst = new ArrayList ();
164                         Object s;
165                         if (result == null)
166                                 return lst;
167         
168                         while ((s = result.next ()) != null)    \r
169                         {
170                                 lst.Add (s);
171                         }
172                         return lst;
173                 }
174
175                 #endregion DB\r
176         }\r
177 }\r