Ejemplo n.º 1
0
        /// <summary>
        /// Carga la lista de notificaciones al objeto usuario
        /// </summary>
        /// <param name="user"></param>
        static public void CargarListaNotificaciones(Usuario user)
        {
            user.Notificaciones = ABMNotificacion.GetNotificaciones(user.IdUsuario);

            // Asignar la referencia al user y las preguntas para cada una de sus notificaciones
            foreach (Notificacion n in user.Notificaciones)
            {
                n.UsuarioPregunta = user;
                n.PreguntaNotif   = user.Preguntas.Find(p => p.IdPregunta == n.IdPregunta);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Crea una nueva respuesta con imagen en la base de datos y una notificacion si es necesaria,
        /// y recarga la lista de respuestas de la pregunta
        /// </summary>
        /// <param name="userRespuesta"></param>
        /// <param name="preg"></param>
        /// <param name="tituloResp"></param>
        /// <param name="descripcionResp"></param>
        /// <param name="urlImg"></param>
        public static void ResponderPregunta(Usuario userRespuesta, Pregunta preg, string tituloResp, string descripcionResp, string urlImg)
        {
            ABMRespuesta.AltaRespuesta(userRespuesta.IdUsuario, preg.IdPregunta, tituloResp, descripcionResp, urlImg);
            CargarListaRespuestas(preg);


            if (preg.EmiteNotificacion() == true)
            {
                // Si responde a su propia pregunta no emite notificacion
                if (userRespuesta.IdUsuario != preg.IdUserPregunta)
                {
                    ABMNotificacion.AltaNotificacion(preg.IdUserPregunta, preg.IdPregunta);
                }
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Elimina una notificacion de la base de datos
 /// y la quita de la lista de notificaciones del usuario
 /// </summary>
 /// <param name="notif"></param>
 public static void EliminarNotificacion(Notificacion notif)
 {
     ABMNotificacion.BajaNotificacion(notif.IdNotificacion);
     notif.UsuarioPregunta.Notificaciones.Remove(notif);
 }