Beispiel #1
0
        private void Desetiquetar(Comentario comentario, Etiqueta etiqueta)
        {
            if (etiqueta.ocurrencias >= 0)
            {
                etiqueta.ocurrencias = etiqueta.ocurrencias - 1;
            }

            comentario.Etiquetas.Remove(etiqueta);
            etiqueta.Comentarios.Remove(comentario);
            EtiquetaDao.Update(etiqueta);
            ComentarioDao.Update(comentario);
        }
Beispiel #2
0
        private Etiqueta AddEtiqueta(string tag)
        {
            Etiqueta etiquetaExistente = EtiquetaDao.FindByTag(tag);

            if (etiquetaExistente != null)
            {
                return(etiquetaExistente);
            }
            Etiqueta etiqueta = Etiqueta.CreateEtiqueta(-1, tag, 0);

            EtiquetaDao.Create(etiqueta);
            return(etiqueta);
        }
Beispiel #3
0
        /// <exception cref="InstanceNotFoundException">If comentarioId doesn't match an existing Comentario or if etiquetaId doesn't match an existing Etiqueta</exception>
        private void Etiquetar(long comentarioId, long etiquetaId)
        {
            Comentario comentario = ComentarioDao.Find(comentarioId);
            Etiqueta   etiqueta   = EtiquetaDao.Find(etiquetaId);

            if (!comentario.Etiquetas.Contains(etiqueta))
            {
                etiqueta.ocurrencias = etiqueta.ocurrencias + 1;
                comentario.Etiquetas.Add(etiqueta);
                etiqueta.Comentarios.Add(comentario);
                EtiquetaDao.Update(etiqueta);
                ComentarioDao.Update(comentario);
            }
        }
Beispiel #4
0
        public List <Comentario> FindComentariosByEtiqueta(string tag, int start_index, int count)
        {
            Etiqueta et = EtiquetaDao.FindByTag(tag);

            et.Comentarios.Load();
            List <Comentario> comments = new List <Comentario>(et.Comentarios);
            int commentsLength         = comments.Count();

            if (count > commentsLength)
            {
                count = commentsLength;
            }
            return(comments.GetRange(start_index, count));
        }
Beispiel #5
0
        /// <exception cref="InstanceNotFoundException">If comentarioId doesn't match an existing Comentario or if etiquetaId doesn't match an existing Etiqueta</exception>
        private void Desetiquetar(long comentarioId, long etiquetaId)
        {
            Comentario comentario = ComentarioDao.Find(comentarioId);
            Etiqueta   etiqueta   = EtiquetaDao.Find(etiquetaId);


            if (comentario.Etiquetas.Contains(etiqueta))
            {
                comentario.Etiquetas.Remove(etiqueta);
            }
            if (etiqueta.ocurrencias >= 0)
            {
                etiqueta.ocurrencias = etiqueta.ocurrencias - 1;
            }
            etiqueta.Comentarios.Remove(comentario);
            EtiquetaDao.Update(etiqueta);
            ComentarioDao.Update(comentario);
        }
Beispiel #6
0
        public List <Etiqueta> FindFrequentEtiquetas()
        {
            List <Etiqueta> etiquetas       = EtiquetaDao.FindEtiquetas();
            List <Etiqueta> sortedEtiquetas = etiquetas.OrderByDescending(o => o.ocurrencias).ToList();
            List <Etiqueta> frequentEtiq    = new List <Etiqueta>();
            int             mostFreq        = 15;

            if (sortedEtiquetas.Count() < mostFreq)
            {
                mostFreq = sortedEtiquetas.Count();
            }

            for (int i = 0; i < mostFreq; i++)
            {
                if (sortedEtiquetas[i].ocurrencias > 0)
                {
                    frequentEtiq.Add(sortedEtiquetas[i]);
                }
            }

            return(frequentEtiq);
        }
Beispiel #7
0
 public List <Etiqueta> FindEtiquetas()
 {
     return(EtiquetaDao.FindEtiquetas());
 }