2 using System.Collections;
\r
8 /// Clase que representa un archivo de Información de Prestaciones Realizadas enviado por el
\r
11 public class InfoPrestacionesReport
\r
13 #region Constructores
\r
15 public InfoPrestacionesReport( string pathNombreArchivo )
\r
17 this._pathArchivo = pathNombreArchivo;
\r
20 #endregion Constructores
\r
22 #region Campos Privados
\r
24 private bool _esBienFormado = true;
\r
26 private string _pathArchivo = string.Empty;
\r
27 private string _cuitPrestador;
\r
28 private DateTime _fechaEnvio;
\r
30 private ArrayList _lineas = null;
\r
32 #endregion Campos Privados
\r
34 #region Propiedades Públicas
\r
36 public string PathArchivo
\r
38 get { return this._pathArchivo; }
\r
39 set { this._pathArchivo = value; }
\r
42 public string CuitPrestador
\r
44 get { return this._cuitPrestador; }
\r
45 set { this._cuitPrestador = value; }
\r
48 public DateTime FechaEnvio
\r
50 get { return this._fechaEnvio; }
\r
51 set { this._fechaEnvio = value; }
\r
54 public ArrayList Lineas
\r
56 get { return this._lineas; }
\r
57 set { this._lineas = value; }
\r
60 #endregion Propiedades Públicas
\r
62 #region Métodos públicos
\r
64 public bool ValidarFormato()
\r
66 XmlDocument xmlDoc = new System.Xml.XmlDocument();
\r
69 xmlDoc.Load( this._pathArchivo );
\r
71 catch ( XmlException xmlEx )
\r
73 #warning Ver como mostrar los errores
\r
77 if ( this.ValidarContraSchema( xmlDoc ) )
\r
79 this.CargarXml( xmlDoc );
\r
83 //Mostrar error y retornar
\r
90 public void ValidarLineas( Dominio.Autorizaciones.Prestador prestador )
\r
92 foreach ( LineaInfoPrestacionesReport linea in this._lineas )
\r
94 linea.Validar( prestador );
\r
98 #endregion Métodos públicos
\r
100 #region Métodos privados
\r
102 private bool ValidarContraSchema( XmlDocument xmlDoc )
\r
109 /// Toma un xmlDoc valido contra el schema
\r
111 /// <param name="xmlDoc"></param>
\r
112 private void CargarXml( XmlDocument xmlDoc )
\r
114 XmlNode root = xmlDoc["infoPrestaciones"];
\r
116 this.FechaEnvio = DateTime.Parse( root.Attributes["fechaEnvio"].InnerText );
\r
118 XmlElement prestador = root["prestador"];
\r
119 this.CuitPrestador = prestador["CUIT"].InnerText;
\r
121 XmlElement lineasXml = root["lineas"];
\r
122 if ( lineasXml.HasChildNodes )
\r
124 for ( int i = 0; i < lineasXml.ChildNodes.Count; i++ )
\r
126 //lineasXml.ChildNodes[i].Attributes["codiogoAutorizacion"]
\r
127 #warning Guille --> Seguir aca
\r
133 #endregion Métodos privados
\r