X-Git-Url: https://git.llucax.com/z.facultad/75.10/miklolife.git/blobdiff_plain/5dcdc142187069476c648c3ee2dbb1a00aaf202e..e3ef49aebf88034b0185f8c8a67b5e1fe7b1241c:/demo/src/Reportes/NotificacionesAdmin.cs?ds=sidebyside diff --git a/demo/src/Reportes/NotificacionesAdmin.cs b/demo/src/Reportes/NotificacionesAdmin.cs index 6c5c7d9..3f8e949 100644 --- a/demo/src/Reportes/NotificacionesAdmin.cs +++ b/demo/src/Reportes/NotificacionesAdmin.cs @@ -1,32 +1,102 @@ using System; +using System.IO; +using System.Configuration; +using Dominio.Autorizaciones; + namespace Reportes { /// /// Clase que contiene la funcionalidad para generar y enviar notificaciones /// - public class NotificacionesAdmin + public sealed class NotificacionesAdmin { #region Constructores - public NotificacionesAdmin() + private NotificacionesAdmin() + { + } + + private static NotificacionesAdmin _instancia = new NotificacionesAdmin(); + public static NotificacionesAdmin Instancia { + get { return NotificacionesAdmin._instancia; } } #endregion Constructores #region Métodos Públicos - public void EnviarAlPrestador( NotificacionPrestador.Tipo tipoNotif, InfoPrestacionesReport ip ) + public void EnviarAlPrestador( Prestador p, NotificacionPrestador.Tipo tipoNotif, InfoPrestacionesReport ip ) { + string currentDir = Directory.GetCurrentDirectory(); + + string dirMails = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioMails"] ); + if ( ! Directory.Exists(dirMails) ) + { + Directory.CreateDirectory( dirMails ); + } + + string pathName = Path.Combine( dirMails, "prestadores.txt" ); + string subject = string.Empty; + + switch ( tipoNotif ) + { + case NotificacionPrestador.Tipo.ProcesoExitoso: + subject = "OK " + ip.NombreArchivo; + break; + case NotificacionPrestador.Tipo.InfoNoRecibida: + subject = "NORECIBIDO " + DateTime.Now.ToString("yyyy-MM-dd"); + break; + case NotificacionPrestador.Tipo.ErrorGrave: + subject = "ERROR " + ip.NombreArchivo; + break; + } + this.EscribirArchivo( pathName, subject, "Prestador: " + p.Cuit ); } - public void EnviarAPagos( string titulo, string contenido ) + public void EnviarAPagos( string mensaje ) { + string currentDir = Directory.GetCurrentDirectory(); + + string dirMails = Path.Combine( currentDir, ConfigurationSettings.AppSettings["DirectorioMails"] ); + if ( ! Directory.Exists(dirMails) ) + { + Directory.CreateDirectory( dirMails ); + } + string pathName = Path.Combine( dirMails, "pagos.txt" ); + string subject = mensaje; + + this.EscribirArchivo( pathName, subject, string.Empty ); } #endregion Métodos Públicos + + #region Métodos privados + + + private void EscribirArchivo( string pathName, string subject, string titulo ) + { + StreamWriter w = null; + if ( File.Exists(pathName) ) + w = File.AppendText( pathName ); + else + w = File.CreateText( pathName ); + + w.WriteLine( @"*** " + titulo + "**************************************************" ); + w.WriteLine( @"*** " + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + " ******************************************************" ); + w.WriteLine( @"******************************************************************************" ); + w.WriteLine( @"Subject: " + subject ); + w.WriteLine(); + w.WriteLine( @"------------------------------------------------------------------------------" ); + w.WriteLine(); + + w.Close(); + } + + #endregion Métodos privados } } +