]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blobdiff - demo/src/Reportes/InfoPrestacionesAdmin.cs
mas fixes y puesta linda
[z.facultad/75.10/miklolife.git] / demo / src / Reportes / InfoPrestacionesAdmin.cs
index 2a1d646c9ac134421a5592a0916c16a8ba455487..121f2cd1798437809dc5588f09bce1b199aae6f2 100644 (file)
@@ -1,4 +1,12 @@
+#region Usings\r
+\r
 using System;\r
+using Dominio.Autorizaciones;\r
+using System.IO;\r
+using System.Configuration;\r
+using System.Xml;\r
+\r
+#endregion Usings\r
 \r
 namespace Reportes\r
 {\r
@@ -15,5 +23,118 @@ namespace Reportes
                }\r
 \r
                #endregion Constructores\r
+\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
        }\r
 }\r