From 4763f9f35aed5629241308415a4fca4794b3dadf Mon Sep 17 00:00:00 2001 From: Guillermo Rugilo Date: Mon, 4 Jul 2005 00:55:59 +0000 Subject: [PATCH] =?utf8?q?-=20Agregado=20de=20archivos=20que=20hab=C3=ADa?= =?utf8?q?=20subido=20ricky=20a=20la=20Solucion=20de=20VS=20-=20Avance=20e?= =?utf8?q?n=20Recibir=20y=20Cotejar...=20igual=20falta...?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../RecibirPrestacionesController.cs | 21 ++++++- demo/src/Reportes/InfoPrestacionesAdmin.cs | 26 ++++++-- demo/src/Reportes/InfoPrestacionesReport.cs | 60 ++++++++++++++++--- demo/src/VSProject.csproj | 10 ++++ 4 files changed, 103 insertions(+), 14 deletions(-) diff --git a/demo/src/Controlador/RecibirPrestacionesController.cs b/demo/src/Controlador/RecibirPrestacionesController.cs index 2549b4a..a86e795 100644 --- a/demo/src/Controlador/RecibirPrestacionesController.cs +++ b/demo/src/Controlador/RecibirPrestacionesController.cs @@ -34,10 +34,29 @@ namespace Controlador #region Métodos Públicos + /// + /// Dispara el proceso de recepción y procesamiento de la info recibida de los Presadores + /// public void procesarInfoRecibida() { try { + //Para test: + Prestador pre = new Prestador(); + pre.Cuit = "30-12345678-1"; + Dominio.SDireccion dir; + dir.Calle = "Gaona"; dir.CodigoPostal = "AB1504"; dir.Departamento = ""; + dir.Numero = 1234; dir.Piso = 0; dir.Provincia = Dominio.EProvincia.CAPITAL_FEDERAL; + dir.Telefono = "5056-4567"; + pre.Direccion = dir; + pre.Email = @"roberto@sancamilo.com"; + pre.FechaBaja = DateTime.MinValue; + pre.Nombre = "Clinica San Camilo"; + pre.Password = "camilo"; + pre.Zona = new SZona( "Caballito", "Zona de Caballito" ); + this.Db.set( pre ); + //Para test + //1. Obtener todos los prestadores ArrayList prestadores = this.ObjectSetToArrayList( this.Db.get(new Prestador()) ); @@ -59,7 +78,7 @@ namespace Controlador //Recorro informe por informe foreach ( InfoPrestacionesReport ip in informes ) { - if ( (ip.ValidarFormato()) && ( ip.Cuit == p.Cuit ) ) + if ( (ip.ValidarFormato()) && ( ip.CuitPrestador == p.Cuit ) ) { //OK ip.ValidarLineas( p ); //Las marca como aprobadas/rechazadas this.ProcesarLineas( ip ); diff --git a/demo/src/Reportes/InfoPrestacionesAdmin.cs b/demo/src/Reportes/InfoPrestacionesAdmin.cs index 046cb71..473490e 100644 --- a/demo/src/Reportes/InfoPrestacionesAdmin.cs +++ b/demo/src/Reportes/InfoPrestacionesAdmin.cs @@ -1,7 +1,12 @@ +#region Usings + using System; using Dominio.Autorizaciones; using System.IO; using System.Configuration; +using System.Xml; + +#endregion Usings namespace Reportes { @@ -34,12 +39,13 @@ namespace Reportes try { DirectoryInfo dir = this.ObtenerDirectorio( p ); - FileInfo[] archivos = dir.GetFiles( "*.xml" ); + + informes = new InfoPrestacionesReport[ archivos.Length ]; - foreach ( FileInfo arch in archivos ) - { - + for ( int i = 0; i < informes.Length; i++ ) + { + informes[i] = new InfoPrestacionesReport( archivos[i].FullName ); } } catch @@ -52,12 +58,14 @@ namespace Reportes public void EnviarReporte( ConsumoAfiliadosReport reporteConsumo ) { - + if ( reporteConsumo == null ) + return; } public void EnviarReporte( PrestacionesRealizadasReport informeAprobaciones ) { - + if ( informeAprobaciones == null ) + return; } public void MoverArchivoAceptado( InfoPrestacionesReport ip ) @@ -74,6 +82,12 @@ namespace Reportes #region Métodos Privados + /// + /// Obtiene el directorio asociado con un prestador, en base a la info del archivo de configuracion + /// Si el directorio no existe en el file system, lo crea. + /// + /// + /// private DirectoryInfo ObtenerDirectorio( Prestador p ) { string currentDir = Directory.GetCurrentDirectory(); diff --git a/demo/src/Reportes/InfoPrestacionesReport.cs b/demo/src/Reportes/InfoPrestacionesReport.cs index e612118..aa95492 100644 --- a/demo/src/Reportes/InfoPrestacionesReport.cs +++ b/demo/src/Reportes/InfoPrestacionesReport.cs @@ -1,5 +1,6 @@ using System; using System.Collections; +using System.Xml; namespace Reportes { @@ -11,17 +12,21 @@ namespace Reportes { #region Constructores - public InfoPrestacionesReport() + public InfoPrestacionesReport( string pathNombreArchivo ) { + this._pathArchivo = pathNombreArchivo; + this.CargarXml( pathNombreArchivo ); } #endregion Constructores #region Campos Privados - private string _pathArchivo = string.Empty; + private bool _esBienFormado = true; - private string _cuit; + private string _pathArchivo = string.Empty; + private string _cuitPrestador; + private DateTime _fechaEnvio; private ArrayList _lineas = null; @@ -35,10 +40,16 @@ namespace Reportes set { this._pathArchivo = value; } } - public string Cuit + public string CuitPrestador + { + get { return this._cuitPrestador; } + set { this._cuitPrestador = value; } + } + + public DateTime FechaEnvio { - get { return this._cuit; } - set { this._cuit = value; } + get { return this._fechaEnvio; } + set { this._fechaEnvio = value; } } public ArrayList Lineas @@ -53,8 +64,18 @@ namespace Reportes public bool ValidarFormato() { + bool valido = false; - return true; + if ( ! this._esBienFormado ) + { + valido = false; + } + else + { + //Validar contra el schema + } + + return valido; } public void ValidarLineas( Dominio.Autorizaciones.Prestador prestador ) @@ -66,5 +87,30 @@ namespace Reportes } #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 } } diff --git a/demo/src/VSProject.csproj b/demo/src/VSProject.csproj index 858f05a..56aefc2 100644 --- a/demo/src/VSProject.csproj +++ b/demo/src/VSProject.csproj @@ -307,6 +307,11 @@ SubType = "Code" BuildAction = "Compile" /> + +