public bool CurrentUserRatedComent(KnihovnaKomentare komentar) { if (User.Identity.IsAuthenticated) { KnihovnaKomentareLikesDao knihovnaKomentareDao = new KnihovnaKomentareLikesDao(); IList <KnihovnaKomentareLikes> list = knihovnaKomentareDao.GetAll(); KnihovnaKomentareLikes finalLike = null; int userId = new KnihovnaUserDao().GetByLogin(User.Identity.Name).Id; foreach (KnihovnaKomentareLikes iterovanyLike in list) { if (iterovanyLike.UserId == userId && iterovanyLike.ComentId == komentar.Id) { finalLike = iterovanyLike; break; } } if (finalLike == null) { return(false); } } return(true); }
public int CurrentUserRatedComentType(KnihovnaKomentare komentar) { int r = -1; if (User.Identity.IsAuthenticated) { KnihovnaKomentareLikesDao knihovnaKomentareDao = new KnihovnaKomentareLikesDao(); IList <KnihovnaKomentareLikes> list = knihovnaKomentareDao.GetAll(); KnihovnaKomentareLikes finalLike = null; int userId = new KnihovnaUserDao().GetByLogin(User.Identity.Name).Id; foreach (KnihovnaKomentareLikes iterovanyLike in list) { if (iterovanyLike.UserId == userId && iterovanyLike.ComentId == komentar.Id) { finalLike = iterovanyLike; r = finalLike.Value; break; } } } return(r); }
public ActionResult RateKomentar(int bookId, int id, int moznost, int komentId = -1) { KnihovnaUserDao dd = new KnihovnaUserDao(); Book book = new BookDao().GetbyId(bookId); int value = 0; KnihovnaKomentareLikesDao knihovnaKomentareLikesDao = new KnihovnaKomentareLikesDao(); IList <KnihovnaKomentareLikes> list = knihovnaKomentareLikesDao.GetAll(); KnihovnaKomentare k = new KnihovnaKomentareDao().GetbyId(id); KnihovnaKomentareLikes finalLike = null; int userId = dd.GetByLogin(User.Identity.Name).Id; foreach (KnihovnaKomentareLikes iterovanyLike in list) { if (iterovanyLike.UserId == userId && iterovanyLike.ComentId == id) { finalLike = iterovanyLike; break; } } if (finalLike == null && userId != k.OwnerId.Id) { value = 1; } else { value = -1; } // Hodnotit if (value == 1) { finalLike = new KnihovnaKomentareLikes(); finalLike.Id = Books.Counter(); finalLike.ComentId = id; finalLike.UserId = dd.GetByLogin(User.Identity.Name).Id; finalLike.Value = moznost; KnihovnaUser userFrom = dd.GetByLogin(User.Identity.Name); KnihovnaUser userTo = dd.GetbyId(k.OwnerId.Id); HNotifikace.SendRateNotification(userTo, moznost, userFrom, book); UserStats.NewRating(dd, userFrom); knihovnaKomentareLikesDao.Create(finalLike); } IList <KnihovnaKomentare> kolekceKomentu = new KnihovnaKomentareDao().GetAll(); IList <KnihovnaKomentare> finalniKomenty = new List <KnihovnaKomentare>(); foreach (KnihovnaKomentare koment in kolekceKomentu) { koment.AlreadyRated = CurrentUserRatedComent(koment); if (koment.TopicId == book.Id) { koment.AlreadyRated = CurrentUserRatedComent(koment); if (koment.AlreadyRated) { koment.RatedType = CurrentUserRatedComentType(koment); } else { koment.RatedType = -1; } // Reakce: for (int i = 0; i < 4; i++) { int?pocetReakci = new KnihovnaKomentareLikesDao().GetComentLikes(koment.Id, i); if (pocetReakci.HasValue) { koment.PocetReakci[i] = (int)pocetReakci; } else { koment.PocetReakci[i] = 0; } } finalniKomenty.Add(koment); } } ViewBag.Komentare = finalniKomenty; ViewBag.Zobraz = true; if (Request.IsAjaxRequest()) { for (int i = 0; i < 4; i++) { int?pocetReakci = new KnihovnaKomentareLikesDao().GetComentLikes(k.Id, i); if (pocetReakci.HasValue) { k.PocetReakci[i] = (int)pocetReakci; } else { k.PocetReakci[i] = 0; } } ViewBag.topic = bookId; k.RatedType = CurrentUserRatedComentType(k); return(PartialView("Rating", k)); } return(View("Detail", book)); }