/// <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); } }
/// <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); } } }
/// <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); }