示例#1
0
 /// <summary>
 /// Actualiza los likes de una respuesta en la base de datos y en el objeto
 /// y en la respuesta
 /// </summary>
 /// <param name="userLike"></param>
 /// <param name="resp"></param>
 public static void DarLike(Usuario userLike, Respuesta resp)
 {
     if (resp.DioLike(userLike) == false)
     {
         ABMRespuesta.AltaLike(resp.IdRespuesta, userLike.IdUsuario);
         resp.IdsUsuariosLike.Add(userLike.IdUsuario);
     }
 }
示例#2
0
 /// <summary>
 /// Actualiza los likes de una respuesta en la base de datos y en el objeto
 /// y en la respuesta
 /// </summary>
 /// <param name="userLike"></param>
 /// <param name="resp"></param>
 public static void DarDisike(Usuario userLike, Respuesta resp)
 {
     if (resp.DioLike(userLike))
     {
         ABMRespuesta.BajaLike(resp.IdRespuesta, userLike.IdUsuario);
         resp.IdsUsuariosLike.Remove(userLike.IdUsuario);
     }
 }
示例#3
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);
                }
            }
        }
示例#4
0
        /// <summary>
        /// Carga la lista de respuestas al objeto pregunta
        /// </summary>
        /// <param name="preg"></param>
        static public void CargarListaRespuestas(Pregunta preg)
        {
            preg.Respuestas = ABMRespuesta.GetRespuestas(preg.IdPregunta);

            // Asignar la referencia a la pregunta para cada una de sus respuestas
            foreach (Respuesta r in preg.Respuestas)
            {
                r.PregRespuesta   = preg;
                r.UserRespuesta   = ABMUsuario.GetUsuario(r.IdUserResp); // Cargar usuario que hizo la respuesta
                r.IdsUsuariosLike = ABMRespuesta.GetIdsUsuariosLike(r.IdRespuesta);
            }

            // Asignar la referencia a la solucion, si es que tiene solucion
            if (preg.EstaSolucionada())
            {
                preg.Solucion = preg.Respuestas.Find(r => r.IdRespuesta == preg.IdSolucion);
            }
        }
示例#5
0
 /// <summary>
 /// Elimina una respuesta de la base de datos
 /// y la quita de la lista de respuestas de la pregunta
 /// </summary>
 /// <param name="resp"></param>
 public static void EliminarRespuesta(Respuesta resp)
 {
     ABMRespuesta.BajaRespuesta(resp.IdRespuesta);
     resp.PregRespuesta.Respuestas.Remove(resp);
 }