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