]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Reportes/InfoPrestacionesAdmin.cs
Bocha de cosas difíciles y largas de explicar :P
[z.facultad/75.10/miklolife.git] / demo / src / Reportes / InfoPrestacionesAdmin.cs
1 #region Usings\r
2 \r
3 using System;\r
4 using Dominio.Autorizaciones;\r
5 using System.IO;\r
6 using System.Configuration;\r
7 using System.Xml;\r
8 \r
9 #endregion Usings\r
10 \r
11 namespace Reportes\r
12 {\r
13         /// <summary>\r
14         /// Clase que contiene la funcionalidad para levantar información recibida del Prestador, \r
15         /// y generar y enviar reportes.\r
16         /// </summary>\r
17         public class InfoPrestacionesAdmin\r
18         {\r
19                 #region Constructores\r
20                 \r
21                 public InfoPrestacionesAdmin()\r
22                 {\r
23                 }\r
24 \r
25                 #endregion Constructores\r
26 \r
27                 #region Métodos Públicos\r
28 \r
29                 /// <summary>\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
32                 /// </summary>\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
36                 {\r
37                         InfoPrestacionesReport[] informes = null;\r
38 \r
39                         try\r
40                         {\r
41                                 DirectoryInfo dir = this.ObtenerDirectorio( p );\r
42                                 FileInfo[] archivos = dir.GetFiles( "*.xml" );\r
43 \r
44                                 informes = new InfoPrestacionesReport[ archivos.Length ];\r
45                                 \r
46                                 for ( int i = 0; i < informes.Length; i++ )\r
47                                 {       \r
48                                         informes[i] = new InfoPrestacionesReport( archivos[i].FullName );\r
49                                 }\r
50                         }\r
51                         catch\r
52                         {\r
53                                 throw;\r
54                         }\r
55 \r
56                         return informes;\r
57                 }\r
58 \r
59                 public void EnviarReporte( ConsumoAfiliadosReport reporteConsumo )\r
60                 {\r
61                         if ( reporteConsumo == null )\r
62                                 return;\r
63                         else\r
64                                 Console.WriteLine( reporteConsumo.ToString() );\r
65                 }\r
66 \r
67                 public void EnviarReporte( PrestacionesRealizadasReport informeAprobaciones )\r
68                 {\r
69                         if ( informeAprobaciones == null )\r
70                                 return;\r
71                         else\r
72                                 informeAprobaciones.Serializar();\r
73 \r
74                 }\r
75 \r
76                 public void MoverArchivoAceptado( InfoPrestacionesReport ip )\r
77                 {\r
78 \r
79                 }\r
80 \r
81                 public void MoverArchivoRechazado( InfoPrestacionesReport ip )\r
82                 {\r
83 \r
84                 }\r
85 \r
86                 #endregion Métodos Públicos\r
87 \r
88                 #region Métodos Privados\r
89 \r
90                 /// <summary>\r
91                 /// Obtiene el directorio asociado con un prestador, en base a la info del archivo de configuracion\r
92                 /// Si el directorio no existe en el file system, lo crea.\r
93                 /// </summary>\r
94                 /// <param name="p"></param>\r
95                 /// <returns></returns>\r
96                 private DirectoryInfo ObtenerDirectorio( Prestador p )\r
97                 {\r
98                         string currentDir = Directory.GetCurrentDirectory();\r
99                 \r
100                         string dirPrestadores = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioPrestadores"] );\r
101                         if ( ! Directory.Exists(dirPrestadores) )\r
102                         {\r
103                                 Directory.CreateDirectory( dirPrestadores );\r
104                         }\r
105 \r
106                         string dirPrestador = Path.Combine( dirPrestadores, p.Cuit );\r
107                         if ( ! Directory.Exists(dirPrestador) )\r
108                         {\r
109                                 Directory.CreateDirectory( dirPrestador );\r
110                         }\r
111 \r
112                         return new DirectoryInfo( dirPrestador );\r
113                 }\r
114 \r
115                 #endregion Métodos Privados\r
116         }\r
117 }\r