4 using Dominio.Autorizaciones;
\r
6 using System.Configuration;
\r
14 /// Clase que contiene la funcionalidad para levantar información recibida del Prestador,
\r
15 /// y generar y enviar reportes.
\r
17 public class InfoPrestacionesAdmin
\r
19 #region Constructores
\r
21 public InfoPrestacionesAdmin()
\r
25 #endregion Constructores
\r
27 #region Métodos Públicos
\r
30 /// Crea una lista de objetos InfoPrestacionesReport a partir de los archivos enviados por el
\r
31 /// Prestador que están en su directorio asociado
\r
33 /// <param name="p">Prestador del cual se desea obtener sus informes enviados</param>
\r
34 /// <returns>Lista de informes enviados por el prestador</returns>
\r
35 public InfoPrestacionesReport[] ObtenerInfoPendiente( Prestador p )
\r
37 InfoPrestacionesReport[] informes = null;
\r
41 DirectoryInfo dir = this.ObtenerDirectorio( p );
\r
42 FileInfo[] archivos = dir.GetFiles( "*.xml" );
\r
44 informes = new InfoPrestacionesReport[ archivos.Length ];
\r
46 for ( int i = 0; i < informes.Length; i++ )
\r
48 informes[i] = new InfoPrestacionesReport( archivos[i].FullName );
\r
59 public void EnviarReporte( ConsumoAfiliadosReport reporteConsumo )
\r
61 if ( reporteConsumo == null )
\r
64 reporteConsumo.Serializar();
\r
67 public void EnviarReporte( PrestacionesRealizadasReport informeAprobaciones )
\r
69 if ( informeAprobaciones == null )
\r
72 informeAprobaciones.Serializar();
\r
75 public void MoverArchivoAceptado( InfoPrestacionesReport ip )
\r
77 string currentDir = Directory.GetCurrentDirectory();
\r
79 string dirAceptados = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioInformesAceptados"] );
\r
80 if ( ! Directory.Exists(dirAceptados) )
\r
82 Directory.CreateDirectory( dirAceptados );
\r
85 string pathToMove = Path.Combine( dirAceptados, ip.NombreArchivo );
\r
86 if ( File.Exists(pathToMove) )
\r
87 File.Delete( pathToMove );
\r
89 File.Move( ip.PathArchivo, pathToMove );
\r
92 public void MoverArchivoRechazado( InfoPrestacionesReport ip )
\r
94 string currentDir = Directory.GetCurrentDirectory();
\r
96 string dirRechazados = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioInformesRechazados"] );
\r
97 if ( ! Directory.Exists(dirRechazados) )
\r
99 Directory.CreateDirectory( dirRechazados );
\r
102 string pathToMove = Path.Combine( dirRechazados, ip.NombreArchivo );
\r
103 if ( File.Exists(pathToMove) )
\r
104 File.Delete( pathToMove );
\r
106 File.Move( ip.PathArchivo, pathToMove );
\r
109 #endregion Métodos Públicos
\r
111 #region Métodos Privados
\r
114 /// Obtiene el directorio asociado con un prestador, en base a la info del archivo de configuracion
\r
115 /// Si el directorio no existe en el file system, lo crea.
\r
117 /// <param name="p"></param>
\r
118 /// <returns></returns>
\r
119 private DirectoryInfo ObtenerDirectorio( Prestador p )
\r
121 string currentDir = Directory.GetCurrentDirectory();
\r
123 string dirPrestadores = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioPrestadores"] );
\r
124 if ( ! Directory.Exists(dirPrestadores) )
\r
126 Directory.CreateDirectory( dirPrestadores );
\r
129 string dirPrestador = Path.Combine( dirPrestadores, p.Cuit );
\r
130 if ( ! Directory.Exists(dirPrestador) )
\r
132 Directory.CreateDirectory( dirPrestador );
\r
135 return new DirectoryInfo( dirPrestador );
\r
138 #endregion Métodos Privados
\r