]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blob - demo/src/Reportes/NotificacionesAdmin.cs
- Valida contra el schema
[z.facultad/75.10/miklolife.git] / demo / src / Reportes / NotificacionesAdmin.cs
1 using System;\r
2 using System.IO;\r
3 using System.Configuration;\r
4 using Dominio.Autorizaciones;\r
5 \r
6 \r
7 namespace Reportes\r
8 {\r
9         /// <summary>\r
10         /// Clase que contiene la funcionalidad para generar y enviar notificaciones\r
11         /// </summary>\r
12         public sealed class NotificacionesAdmin\r
13         {\r
14                 #region Constructores\r
15                 \r
16                 private NotificacionesAdmin()\r
17                 {\r
18                 }\r
19 \r
20                 private static NotificacionesAdmin _instancia = new NotificacionesAdmin();\r
21                 public static NotificacionesAdmin Instancia\r
22                 {\r
23                         get { return NotificacionesAdmin._instancia; }\r
24                 }\r
25 \r
26                 #endregion Constructores\r
27 \r
28                 #region Métodos Públicos\r
29 \r
30                 public void EnviarAlPrestador( Prestador p, NotificacionPrestador.Tipo tipoNotif, InfoPrestacionesReport ip )\r
31                 {\r
32                         string currentDir = Directory.GetCurrentDirectory();\r
33                 \r
34                         string dirMails = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioMails"] );\r
35                         if ( ! Directory.Exists(dirMails) )\r
36                         {\r
37                                 Directory.CreateDirectory( dirMails );\r
38                         }\r
39 \r
40                         string pathName = Path.Combine( dirMails, "prestadores.txt" );\r
41                         string subject = string.Empty;\r
42                         \r
43                         switch ( tipoNotif )\r
44                         {\r
45                                 case NotificacionPrestador.Tipo.ProcesoExitoso:\r
46                                         subject = "OK " + ip.NombreArchivo;\r
47                                         break;\r
48                                 case NotificacionPrestador.Tipo.InfoNoRecibida:\r
49                                         subject = "NORECIBIDO " + DateTime.Now.ToString("yyyy-MM-dd");\r
50                                         break;\r
51                                 case NotificacionPrestador.Tipo.ErrorGrave:\r
52                                         subject = "ERROR " + ip.NombreArchivo;\r
53                                         break;\r
54                         }\r
55 \r
56                         this.EscribirArchivo( pathName, subject, "Prestador: " + p.Cuit );\r
57                 }\r
58 \r
59                 public void EnviarAPagos( string mensaje )\r
60                 {\r
61                         string currentDir = Directory.GetCurrentDirectory();\r
62                 \r
63                         string dirMails = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioMails"] );\r
64                         if ( ! Directory.Exists(dirMails) )\r
65                         {\r
66                                 Directory.CreateDirectory( dirMails );\r
67                         }\r
68 \r
69                         string pathName = Path.Combine( dirMails, "pagos.txt" );\r
70                         string subject = mensaje;\r
71         \r
72                         this.EscribirArchivo( pathName, subject, string.Empty );\r
73                 }\r
74 \r
75                 #endregion Métodos Públicos\r
76 \r
77                 #region Métodos privados\r
78 \r
79 \r
80                 private void EscribirArchivo( string pathName, string subject, string titulo )\r
81                 {\r
82                         StreamWriter w = null;\r
83                         if ( File.Exists(pathName) )\r
84                                 w = File.AppendText( pathName );\r
85                         else\r
86                                 w = File.CreateText( pathName );\r
87 \r
88                         w.WriteLine( @"*** " + titulo + "**************************************************" );\r
89                         w.WriteLine( @"*** " + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + " ******************************************************" );\r
90                         w.WriteLine( @"******************************************************************************" );\r
91                         w.WriteLine( @"Subject: " + subject );\r
92                         w.WriteLine();\r
93                         w.WriteLine( @"------------------------------------------------------------------------------" );\r
94                         w.WriteLine();\r
95 \r
96                         w.Close();\r
97                 }\r
98 \r
99                 #endregion Métodos privados\r
100         }\r
101 }\r
102 \r