示例#1
0
        /// <summary>
        /// Notifica a todos los usuarios con privilegio específico.
        /// </summary>
        /// <param name="PRIVS_LLAVE"></param>
        /// <param name="estado"></param>
        /// <param name="titulo"></param>
        /// <param name="mensaje"></param>
        /// <param name="mensajeParams"></param>
        public void NotifyUsers(string PRIVS_LLAVE, EstadosNotificacion estado, string titulo, string mensaje, params object[] mensajeParams)
        {
            try
            {
                List <usuario> usuarios = null;

                if (string.IsNullOrEmpty(PRIVS_LLAVE))
                {
                    Seguridad.UsuarioLogic usuariologic = new Seguridad.UsuarioLogic();
                    usuarios = usuariologic.GetUsuarios();
                }
                else
                {
                    Seguridad.PrivilegioLogic privilegiologic = new Seguridad.PrivilegioLogic();
                    usuarios = privilegiologic.GetUsuariosWithPrivilege(PRIVS_LLAVE);
                }

                StringBuilder mensajeBuilder    = new StringBuilder();
                string        mensajeFormateado = mensajeBuilder.AppendFormat(mensaje, mensajeParams).ToString();

                using (var db = new colinasEntities())
                {
                    foreach (usuario usr in usuarios)
                    {
                        notificacion notification = new notificacion();
                        notification.NOTIFICACION_ESTADO  = (int)estado;
                        notification.USR_USERNAME         = usr.USR_USERNAME;
                        notification.NOTIFICACION_TITLE   = titulo;            //"Notas de Peso en Catación";
                        notification.NOTIFICACION_MENSAJE = mensajeFormateado; //"Ya tiene disponible la nota de peso #" + note.NOTAS_ID + ".";
                        notification.NOTIFICACION_FECHA   = DateTime.Now;

                        db.notificaciones.AddObject(notification);
                    }

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al notificar usuarios.", ex);
                throw;
            }
        }
示例#2
0
        /// <summary>
        /// Notifica a todos los usuarios con privilegio específico.
        /// </summary>
        /// <param name="PRIVS_LLAVE"></param>
        /// <param name="estado"></param>
        /// <param name="titulo"></param>
        /// <param name="mensaje"></param>
        /// <param name="mensajeParams"></param>
        public void NotifyUsers(string PRIVS_LLAVE, EstadosNotificacion estado, string titulo, string mensaje, params object[] mensajeParams)
        {
            try
            {
                
                List<usuario> usuarios = null;

                if (string.IsNullOrEmpty(PRIVS_LLAVE))
                {
                    Seguridad.UsuarioLogic usuariologic = new Seguridad.UsuarioLogic();
                    usuarios = usuariologic.GetUsuarios();
                } else {
                    Seguridad.PrivilegioLogic privilegiologic = new Seguridad.PrivilegioLogic();
                    usuarios = privilegiologic.GetUsuariosWithPrivilege(PRIVS_LLAVE);
                }

                StringBuilder mensajeBuilder = new StringBuilder();
                string mensajeFormateado = mensajeBuilder.AppendFormat(mensaje, mensajeParams).ToString();

                using (var db = new colinasEntities())
                {
                    foreach (usuario usr in usuarios)
                    {
                        notificacion notification = new notificacion();
                        notification.NOTIFICACION_ESTADO = (int)estado;
                        notification.USR_USERNAME = usr.USR_USERNAME;
                        notification.NOTIFICACION_TITLE = titulo; //"Notas de Peso en Catación";
                        notification.NOTIFICACION_MENSAJE = mensajeFormateado ;  //"Ya tiene disponible la nota de peso #" + note.NOTAS_ID + ".";
                        notification.NOTIFICACION_FECHA = DateTime.Now;

                        db.notificaciones.AddObject(notification);
                    }

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al notificar usuarios.", ex);
                throw;
            }
        }