]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Reportes/InfoPrestacionesReport.cs
242306ac0b4a8a3ef6cd87394e929f79da233ba5
[z.facultad/75.10/miklolife.git] / demo / src / Reportes / InfoPrestacionesReport.cs
1 using System;\r
2 using System.Collections;\r
3 using System.Xml;\r
4 \r
5 namespace Reportes\r
6 {\r
7         /// <summary>\r
8         /// Clase que representa un archivo de Información de Prestaciones Realizadas enviado por el \r
9         /// Prestador.\r
10         /// </summary>\r
11         public class InfoPrestacionesReport\r
12         {\r
13                 #region Constructores\r
14 \r
15                 public InfoPrestacionesReport( string pathNombreArchivo )\r
16                 {\r
17                         this._pathArchivo = pathNombreArchivo;\r
18                 }\r
19 \r
20                 #endregion Constructores\r
21 \r
22                 #region Campos Privados\r
23 \r
24                 private bool _esBienFormado = true;\r
25 \r
26                 private string _pathArchivo = string.Empty;\r
27                 private string _cuitPrestador;\r
28                 private DateTime _fechaEnvio;\r
29 \r
30                 private ArrayList _lineas = null;\r
31 \r
32                 #endregion Campos Privados\r
33 \r
34                 #region Propiedades Públicas\r
35                 \r
36                 public string PathArchivo\r
37                 {\r
38                         get { return this._pathArchivo; }\r
39                         set { this._pathArchivo = value; }\r
40                 }\r
41 \r
42                 public string CuitPrestador\r
43                 {\r
44                         get { return this._cuitPrestador; }\r
45                         set { this._cuitPrestador = value; }\r
46                 }\r
47 \r
48                 public DateTime FechaEnvio\r
49                 {\r
50                         get { return this._fechaEnvio; }\r
51                         set { this._fechaEnvio = value; }\r
52                 }\r
53 \r
54                 public ArrayList Lineas\r
55                 {\r
56                         get { return this._lineas; }\r
57                         set { this._lineas = value; }\r
58                 }\r
59 \r
60                 #endregion Propiedades Públicas\r
61 \r
62                 #region Métodos públicos\r
63 \r
64                 public bool ValidarFormato()\r
65                 {\r
66                         XmlDocument xmlDoc = new System.Xml.XmlDocument();\r
67                         try\r
68                         {\r
69                                 xmlDoc.Load( this._pathArchivo );\r
70                         }\r
71                         catch ( XmlException xmlEx )\r
72                         {\r
73                                 #warning Ver como mostrar los errores\r
74                                 return false;\r
75                         }\r
76                         \r
77                         if ( this.ValidarContraSchema( xmlDoc ) )\r
78                         {\r
79                                 this.CargarXml( xmlDoc );\r
80                         }\r
81                         else\r
82                         {\r
83                                 //Mostrar error y retornar\r
84                                 return false;\r
85                         }\r
86 \r
87                         return true;\r
88                 }\r
89 \r
90                 public void ValidarLineas( Dominio.Autorizaciones.Prestador prestador )\r
91                 {\r
92                         foreach ( LineaInfoPrestacionesReport linea in this._lineas )\r
93                         {\r
94                                 linea.Validar( prestador );\r
95                         }\r
96                 }\r
97 \r
98                 #endregion Métodos públicos\r
99 \r
100                 #region Métodos privados\r
101 \r
102                 private bool ValidarContraSchema( XmlDocument xmlDoc )\r
103                 {\r
104 \r
105                         return true;\r
106                 }\r
107 \r
108                 /// <summary>\r
109                 /// Toma un xmlDoc valido contra el schema\r
110                 /// </summary>\r
111                 /// <param name="xmlDoc"></param>\r
112                 private void CargarXml( XmlDocument xmlDoc )\r
113                 {\r
114                         XmlNode root = xmlDoc["infoPrestaciones"];\r
115                         \r
116                         this.FechaEnvio = DateTime.Parse( root.Attributes["fechaEnvio"].InnerText );\r
117                         \r
118                         XmlElement prestador = root["prestador"];\r
119                         this.CuitPrestador = prestador["CUIT"].InnerText;\r
120                         \r
121                         XmlElement lineasXml = root["lineas"];\r
122                         if ( lineasXml.HasChildNodes )\r
123                         {\r
124                                 for ( int i = 0; i < lineasXml.ChildNodes.Count; i++ )\r
125                                 {\r
126                                         //lineasXml.ChildNodes[i].Attributes["codiogoAutorizacion"]\r
127                                         #warning Guille --> Seguir aca\r
128                                 }\r
129                         }\r
130 \r
131                 }\r
132 \r
133                 #endregion Métodos privados\r
134         }\r
135 }\r