using System; namespace Reportes { /// /// Representa una notificación a enviar al Prestador /// public class NotificacionPrestador { #region Tipo de notificaciones public enum Tipo { ProcesoExitoso, ErrorGrave, InfoNoRecibida } #endregion Tipo de notificaciones #region Constructores public NotificacionPrestador( Tipo tipo, string nombreArchivo, DateTime fechaProceso ) { this._tipo = tipo; switch ( this._tipo ) { case Tipo.ProcesoExitoso: this._mensaje = ENCABEZADO_PROCESOEXITOSO + " " + nombreArchivo; break; case Tipo.ErrorGrave: this._mensaje = ENCABEZADO_ERRORGRAVE + " " + nombreArchivo; break; case Tipo.InfoNoRecibida: this._mensaje = ENCABEZADO_INFONORECIBIDA + " " + fechaProceso; break; default: throw new Exception( "Se intentó crear una notificación al Prestador con un Tipo incorrecto" ); } } #endregion Constructores #region Constantes private const string ENCABEZADO_ERRORGRAVE = "ERROR"; private const string ENCABEZADO_PROCESOEXITOSO = "OK"; private const string ENCABEZADO_INFONORECIBIDA = "NORECIBIDO"; #endregion Constantes #region Campos Privados private string _mensaje = string.Empty; private NotificacionPrestador.Tipo _tipo; #endregion Campos Privados #region Métodos Públicos public string GetMensaje() { return this._mensaje; } #endregion Métodos Públicos } }