3 using System.Configuration;
\r
4 using Dominio.Autorizaciones;
\r
10 /// Clase que contiene la funcionalidad para generar y enviar notificaciones
\r
12 public sealed class NotificacionesAdmin
\r
14 #region Constructores
\r
16 private NotificacionesAdmin()
\r
20 private static NotificacionesAdmin _instancia = new NotificacionesAdmin();
\r
21 public static NotificacionesAdmin Instancia
\r
23 get { return NotificacionesAdmin._instancia; }
\r
26 #endregion Constructores
\r
28 #region Métodos Públicos
\r
30 public void EnviarAlPrestador( Prestador p, NotificacionPrestador.Tipo tipoNotif, InfoPrestacionesReport ip )
\r
32 string currentDir = Directory.GetCurrentDirectory();
\r
34 string dirMails = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioMails"] );
\r
35 if ( ! Directory.Exists(dirMails) )
\r
37 Directory.CreateDirectory( dirMails );
\r
40 string pathName = Path.Combine( dirMails, "prestadores.txt" );
\r
41 string subject = string.Empty;
\r
43 switch ( tipoNotif )
\r
45 case NotificacionPrestador.Tipo.ProcesoExitoso:
\r
46 subject = "OK " + ip.NombreArchivo;
\r
48 case NotificacionPrestador.Tipo.InfoNoRecibida:
\r
49 subject = "NORECIBIDO " + DateTime.Now.ToString("yyyy-MM-dd");
\r
51 case NotificacionPrestador.Tipo.ErrorGrave:
\r
52 subject = "ERROR " + ip.NombreArchivo;
\r
56 this.EscribirArchivo( pathName, subject, "Prestador: " + p.Cuit );
\r
59 public void EnviarAPagos( string mensaje )
\r
61 string currentDir = Directory.GetCurrentDirectory();
\r
63 string dirMails = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioMails"] );
\r
64 if ( ! Directory.Exists(dirMails) )
\r
66 Directory.CreateDirectory( dirMails );
\r
69 string pathName = Path.Combine( dirMails, "pagos.txt" );
\r
70 string subject = mensaje;
\r
72 this.EscribirArchivo( pathName, subject, string.Empty );
\r
75 #endregion Métodos Públicos
\r
77 #region Métodos privados
\r
80 private void EscribirArchivo( string pathName, string subject, string titulo )
\r
82 StreamWriter w = null;
\r
83 if ( File.Exists(pathName) )
\r
84 w = File.AppendText( pathName );
\r
86 w = File.CreateText( pathName );
\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
93 w.WriteLine( @"------------------------------------------------------------------------------" );
\r
99 #endregion Métodos privados
\r