using System; using System.Collections; using System.Xml; namespace Reportes { /// /// Clase que representa un archivo de Información de Prestaciones Realizadas enviado por el /// Prestador. /// public class InfoPrestacionesReport { #region Constructores public InfoPrestacionesReport( string pathNombreArchivo ) { this._pathArchivo = pathNombreArchivo; this.CargarXml( pathNombreArchivo ); } #endregion Constructores #region Campos Privados private bool _esBienFormado = true; private string _pathArchivo = string.Empty; private string _cuitPrestador; private DateTime _fechaEnvio; private ArrayList _lineas = null; #endregion Campos Privados #region Propiedades Públicas public string PathArchivo { get { return this._pathArchivo; } set { this._pathArchivo = value; } } public string CuitPrestador { get { return this._cuitPrestador; } set { this._cuitPrestador = value; } } public DateTime FechaEnvio { get { return this._fechaEnvio; } set { this._fechaEnvio = value; } } public ArrayList Lineas { get { return this._lineas; } set { this._lineas = value; } } #endregion Propiedades Públicas #region Métodos públicos public bool ValidarFormato() { bool valido = false; if ( ! this._esBienFormado ) { valido = false; } else { //Validar contra el schema } return valido; } public void ValidarLineas( Dominio.Autorizaciones.Prestador prestador ) { foreach ( LineaInfoPrestacionesReport linea in this._lineas ) { linea.Validar( prestador ); } } #endregion Métodos públicos #region Métodos privados private void CargarXml( string pathNombreArchivo ) { XmlDocument xmlDoc = new System.Xml.XmlDocument(); try { xmlDoc.Load( pathNombreArchivo ); this._esBienFormado = true; } catch ( XmlException xmlEx ) { this._esBienFormado = false; return; } XmlNode root = xmlDoc.FirstChild; XmlElement prestador = root["prestador"]; this.CuitPrestador = prestador["CUIT"].Value; } #endregion Métodos privados } }