+\r
+ #region Métodos Públicos\r
+\r
+ /// <summary>\r
+ /// Crea una lista de objetos InfoPrestacionesReport a partir de los archivos enviados por el\r
+ /// Prestador que están en su directorio asociado\r
+ /// </summary>\r
+ /// <param name="p">Prestador del cual se desea obtener sus informes enviados</param>\r
+ /// <returns>Lista de informes enviados por el prestador</returns>\r
+ public InfoPrestacionesReport[] ObtenerInfoPendiente( Prestador p )\r
+ {\r
+ InfoPrestacionesReport[] informes = null;\r
+\r
+ try\r
+ {\r
+ DirectoryInfo dir = this.ObtenerDirectorio( p );\r
+ FileInfo[] archivos = dir.GetFiles( "*.xml" );\r
+\r
+ informes = new InfoPrestacionesReport[ archivos.Length ];\r
+ \r
+ for ( int i = 0; i < informes.Length; i++ )\r
+ { \r
+ informes[i] = new InfoPrestacionesReport( archivos[i].FullName );\r
+ }\r
+ }\r
+ catch\r
+ {\r
+ throw;\r
+ }\r
+\r
+ return informes;\r
+ }\r
+\r
+ public void EnviarReporte( ConsumoAfiliadosReport reporteConsumo )\r
+ {\r
+ if ( reporteConsumo == null )\r
+ return;\r
+ else\r
+ reporteConsumo.Serializar();\r
+ }\r
+\r
+ public void EnviarReporte( PrestacionesRealizadasReport informeAprobaciones )\r
+ {\r
+ if ( informeAprobaciones == null )\r
+ return;\r
+ else\r
+ informeAprobaciones.Serializar();\r
+ }\r
+\r
+ public void MoverArchivoAceptado( InfoPrestacionesReport ip )\r
+ {\r
+ string currentDir = Directory.GetCurrentDirectory();\r
+ \r
+ string dirAceptados = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioInformesAceptados"] );\r
+ if ( ! Directory.Exists(dirAceptados) )\r
+ {\r
+ Directory.CreateDirectory( dirAceptados );\r
+ }\r
+\r
+ string pathToMove = Path.Combine( dirAceptados, ip.NombreArchivo );\r
+ if ( File.Exists(pathToMove) )\r
+ File.Delete( pathToMove );\r
+\r
+ File.Move( ip.PathArchivo, pathToMove );\r
+ }\r
+\r
+ public void MoverArchivoRechazado( InfoPrestacionesReport ip )\r
+ {\r
+ string currentDir = Directory.GetCurrentDirectory();\r
+ \r
+ string dirRechazados = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioInformesRechazados"] );\r
+ if ( ! Directory.Exists(dirRechazados) )\r
+ {\r
+ Directory.CreateDirectory( dirRechazados );\r
+ }\r
+\r
+ string pathToMove = Path.Combine( dirRechazados, ip.NombreArchivo );\r
+ if ( File.Exists(pathToMove) )\r
+ File.Delete( pathToMove );\r
+\r
+ File.Move( ip.PathArchivo, pathToMove );\r
+ }\r
+\r
+ #endregion Métodos Públicos\r
+\r
+ #region Métodos Privados\r
+\r
+ /// <summary>\r
+ /// Obtiene el directorio asociado con un prestador, en base a la info del archivo de configuracion\r
+ /// Si el directorio no existe en el file system, lo crea.\r
+ /// </summary>\r
+ /// <param name="p"></param>\r
+ /// <returns></returns>\r
+ private DirectoryInfo ObtenerDirectorio( Prestador p )\r
+ {\r
+ string currentDir = Directory.GetCurrentDirectory();\r
+ \r
+ string dirPrestadores = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioPrestadores"] );\r
+ if ( ! Directory.Exists(dirPrestadores) )\r
+ {\r
+ Directory.CreateDirectory( dirPrestadores );\r
+ }\r
+\r
+ string dirPrestador = Path.Combine( dirPrestadores, p.Cuit );\r
+ if ( ! Directory.Exists(dirPrestador) )\r
+ {\r
+ Directory.CreateDirectory( dirPrestador );\r
+ }\r
+\r
+ return new DirectoryInfo( dirPrestador );\r
+ }\r
+\r
+ #endregion Métodos Privados\r