]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blobdiff - demo/src/Reportes/PrestacionesRealizadasReport.cs
Agrego material de estudio.
[z.facultad/75.10/miklolife.git] / demo / src / Reportes / PrestacionesRealizadasReport.cs
index 2f7cb0b0ed34e4e51df654bb51a3ae1f2e0c9dc2..ca1372f2ba2f26dfd6c8b98fca5301811f3abb4c 100644 (file)
@@ -1,4 +1,12 @@
 using System;\r
 using System;\r
+using System.Collections;\r
+using System.Xml;\r
+using Dominio.Autorizaciones;\r
+using Dominio.Afiliados;\r
+using com.db4o;\r
+using System.Configuration;\r
+using System.IO;\r
+\r
 \r
 namespace Reportes\r
 {\r
 \r
 namespace Reportes\r
 {\r
@@ -11,8 +19,179 @@ namespace Reportes
                \r
                public PrestacionesRealizadasReport()\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
 \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
+                       string currentDir = Directory.GetCurrentDirectory();\r
+                       string dirPagos = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioPagos"] );\r
+                       if ( ! Directory.Exists(dirPagos) )\r
+                       {\r
+                               Directory.CreateDirectory( dirPagos );\r
+                       }\r
+                       \r
+                       int secuencia = 0;\r
+                       \r
+                       string baseFileName = "rp_" + DateTime.Now.ToString("yyyy-MM-dd") + "_"; \r
+                       string pathName = Path.Combine( dirPagos, baseFileName + secuencia.ToString("00") + ".xml" );\r
+                       \r
+                       while ( File.Exists(pathName) )\r
+                       {\r
+                               secuencia += 1;\r
+                               pathName = Path.Combine( dirPagos, baseFileName + secuencia.ToString("00") + ".xml");\r
+                       }\r
+\r
+                       XmlTextWriter writer = new XmlTextWriter( pathName, null );\r
+                       writer.Formatting = Formatting.Indented;\r
+                       this.xmlDoc.Save(writer);\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
        }\r
 }\r