X-Git-Url: https://git.llucax.com/z.facultad/75.10/miklolife.git/blobdiff_plain/aeb71279fa96dfc8e3832d04ae25d68c6853d39f..2be5451ef59289f66dbd3e1d9ff5a69fcc271364:/demo/src/Reportes/InfoPrestacionesAdmin.cs?ds=inline
diff --git a/demo/src/Reportes/InfoPrestacionesAdmin.cs b/demo/src/Reportes/InfoPrestacionesAdmin.cs
index 2a1d646..121f2cd 100644
--- a/demo/src/Reportes/InfoPrestacionesAdmin.cs
+++ b/demo/src/Reportes/InfoPrestacionesAdmin.cs
@@ -1,4 +1,12 @@
+#region Usings
+
using System;
+using Dominio.Autorizaciones;
+using System.IO;
+using System.Configuration;
+using System.Xml;
+
+#endregion Usings
namespace Reportes
{
@@ -15,5 +23,118 @@ namespace Reportes
}
#endregion Constructores
+
+ #region Métodos Públicos
+
+ ///
+ /// Crea una lista de objetos InfoPrestacionesReport a partir de los archivos enviados por el
+ /// Prestador que están en su directorio asociado
+ ///
+ /// Prestador del cual se desea obtener sus informes enviados
+ /// Lista de informes enviados por el prestador
+ public InfoPrestacionesReport[] ObtenerInfoPendiente( Prestador p )
+ {
+ InfoPrestacionesReport[] informes = null;
+
+ try
+ {
+ DirectoryInfo dir = this.ObtenerDirectorio( p );
+ FileInfo[] archivos = dir.GetFiles( "*.xml" );
+
+ informes = new InfoPrestacionesReport[ archivos.Length ];
+
+ for ( int i = 0; i < informes.Length; i++ )
+ {
+ informes[i] = new InfoPrestacionesReport( archivos[i].FullName );
+ }
+ }
+ catch
+ {
+ throw;
+ }
+
+ return informes;
+ }
+
+ public void EnviarReporte( ConsumoAfiliadosReport reporteConsumo )
+ {
+ if ( reporteConsumo == null )
+ return;
+ else
+ reporteConsumo.Serializar();
+ }
+
+ public void EnviarReporte( PrestacionesRealizadasReport informeAprobaciones )
+ {
+ if ( informeAprobaciones == null )
+ return;
+ else
+ informeAprobaciones.Serializar();
+ }
+
+ public void MoverArchivoAceptado( InfoPrestacionesReport ip )
+ {
+ string currentDir = Directory.GetCurrentDirectory();
+
+ string dirAceptados = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioInformesAceptados"] );
+ if ( ! Directory.Exists(dirAceptados) )
+ {
+ Directory.CreateDirectory( dirAceptados );
+ }
+
+ string pathToMove = Path.Combine( dirAceptados, ip.NombreArchivo );
+ if ( File.Exists(pathToMove) )
+ File.Delete( pathToMove );
+
+ File.Move( ip.PathArchivo, pathToMove );
+ }
+
+ public void MoverArchivoRechazado( InfoPrestacionesReport ip )
+ {
+ string currentDir = Directory.GetCurrentDirectory();
+
+ string dirRechazados = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioInformesRechazados"] );
+ if ( ! Directory.Exists(dirRechazados) )
+ {
+ Directory.CreateDirectory( dirRechazados );
+ }
+
+ string pathToMove = Path.Combine( dirRechazados, ip.NombreArchivo );
+ if ( File.Exists(pathToMove) )
+ File.Delete( pathToMove );
+
+ File.Move( ip.PathArchivo, pathToMove );
+ }
+
+ #endregion Métodos Públicos
+
+ #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();
+
+ string dirPrestadores = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioPrestadores"] );
+ if ( ! Directory.Exists(dirPrestadores) )
+ {
+ Directory.CreateDirectory( dirPrestadores );
+ }
+
+ string dirPrestador = Path.Combine( dirPrestadores, p.Cuit );
+ if ( ! Directory.Exists(dirPrestador) )
+ {
+ Directory.CreateDirectory( dirPrestador );
+ }
+
+ return new DirectoryInfo( dirPrestador );
+ }
+
+ #endregion Métodos Privados
}
}