using System;\r
+using System.IO;\r
+using System.Configuration;\r
+using Dominio.Autorizaciones;\r
+\r
\r
namespace Reportes\r
{\r
/// <summary>\r
/// Clase que contiene la funcionalidad para generar y enviar notificaciones\r
/// </summary>\r
- public class NotificacionesAdmin\r
+ public sealed class NotificacionesAdmin\r
{\r
#region Constructores\r
\r
- public NotificacionesAdmin()\r
+ private NotificacionesAdmin()\r
+ {\r
+ }\r
+\r
+ private static NotificacionesAdmin _instancia = new NotificacionesAdmin();\r
+ public static NotificacionesAdmin Instancia\r
{\r
+ get { return NotificacionesAdmin._instancia; }\r
}\r
\r
#endregion Constructores\r
\r
#region Métodos Públicos\r
\r
- public void EnviarAlPrestador( NotificacionPrestador.Tipo tipoNotif, InfoPrestacionesReport ip )\r
+ public void EnviarAlPrestador( Prestador p, NotificacionPrestador.Tipo tipoNotif, InfoPrestacionesReport ip )\r
{\r
+ string currentDir = Directory.GetCurrentDirectory();\r
+ \r
+ string dirMails = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioMails"] );\r
+ if ( ! Directory.Exists(dirMails) )\r
+ {\r
+ Directory.CreateDirectory( dirMails );\r
+ }\r
+\r
+ string pathName = Path.Combine( dirMails, "prestadores.txt" );\r
+ string subject = string.Empty;\r
+ \r
+ switch ( tipoNotif )\r
+ {\r
+ case NotificacionPrestador.Tipo.ProcesoExitoso:\r
+ subject = "OK " + ip.NombreArchivo;\r
+ break;\r
+ case NotificacionPrestador.Tipo.InfoNoRecibida:\r
+ subject = "NORECIBIDO " + DateTime.Now.ToString("yyyy-MM-dd");\r
+ break;\r
+ case NotificacionPrestador.Tipo.ErrorGrave:\r
+ subject = "ERROR " + ip.NombreArchivo;\r
+ break;\r
+ }\r
\r
+ this.EscribirArchivo( pathName, subject, "Prestador: " + p.Cuit );\r
}\r
\r
- public void EnviarAPagos( string titulo, string contenido )\r
+ public void EnviarAPagos( string mensaje )\r
{\r
+ string currentDir = Directory.GetCurrentDirectory();\r
+ \r
+ string dirMails = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioMails"] );\r
+ if ( ! Directory.Exists(dirMails) )\r
+ {\r
+ Directory.CreateDirectory( dirMails );\r
+ }\r
\r
+ string pathName = Path.Combine( dirMails, "pagos.txt" );\r
+ string subject = mensaje;\r
+ \r
+ this.EscribirArchivo( pathName, subject, string.Empty );\r
}\r
\r
#endregion Métodos Públicos\r
+\r
+ #region Métodos privados\r
+\r
+\r
+ private void EscribirArchivo( string pathName, string subject, string titulo )\r
+ {\r
+ StreamWriter w = null;\r
+ if ( File.Exists(pathName) )\r
+ w = File.AppendText( pathName );\r
+ else\r
+ w = File.CreateText( pathName );\r
+\r
+ w.WriteLine( @"*** " + titulo + "**************************************************" );\r
+ w.WriteLine( @"*** " + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + " ******************************************************" );\r
+ w.WriteLine( @"******************************************************************************" );\r
+ w.WriteLine( @"Subject: " + subject );\r
+ w.WriteLine();\r
+ w.WriteLine( @"------------------------------------------------------------------------------" );\r
+ w.WriteLine();\r
+\r
+ w.Close();\r
+ }\r
+\r
+ #endregion Métodos privados\r
}\r
}\r
+\r