]> git.llucax.com Git - z.facultad/75.10/miklolife.git/blobdiff - demo/src/Reportes/NotificacionesAdmin.cs
- Valida contra el schema
[z.facultad/75.10/miklolife.git] / demo / src / Reportes / NotificacionesAdmin.cs
index 6c5c7d9a283e87793601fdf3fbb568f3eebcef77..3f8e949a5e0cc5c700081ed3b870e70e42b78b54 100644 (file)
 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