public ActionResult Edit(int id, string text) { KnihovnaKomentareDao knihovnaKomentareDao = new KnihovnaKomentareDao(); KnihovnaKomentare komentar = knihovnaKomentareDao.GetbyId(id); komentar.Content = text; knihovnaKomentareDao.Update(komentar); return(Redirect(this.Request.UrlReferrer.AbsolutePath)); }
public ActionResult Add(string description, int topicId, int reply, string type = "", string typeData = "", string sumText = "") { if (type != "create" && type != "") { if (typeData == "komentEdit") { Edit(int.Parse(type), description); } else { EditPrispevek(topicId, description, sumText); } } else { KnihovnaKomentareDao knihovnaKomentareDao = new KnihovnaKomentareDao(); KnihovnaKomentare komentar = new KnihovnaKomentare(); komentar.Id = Books.Counter(); komentar.Content = description; komentar.OwnerId = new KnihovnaUserDao().GetByLogin(User.Identity.Name); komentar.Date = DateTime.Now; komentar.TopicId = topicId; komentar.ReplyId = reply; knihovnaKomentareDao.Create(komentar); KnihovnaUserDao dao = new KnihovnaUserDao(); KnihovnaUser user = dao.GetByLogin(User.Identity.Name); UserStats.NewComment(dao, user); NovinkyGenerator.PridatNovinku(komentar, user.Id); } return(Redirect(this.Request.UrlReferrer.AbsolutePath)); }
public ActionResult Delete(int id) { KnihovnaKomentareDao d = new KnihovnaKomentareDao(); KnihovnaKomentare k = d.GetbyId(id); if (k.ReplyId != -1) { d.Delete(k); } else { // Musíme odstranit všechny reagující komentáře IList <KnihovnaKomentare> reagujiciKomentare = d.GetCommentSubcomments(id); foreach (KnihovnaKomentare sk in reagujiciKomentare) { d.Delete(sk); } d.Delete(k); } return(Redirect(this.Request.UrlReferrer.AbsolutePath)); }
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)); }
public ActionResult Detail(int id, bool zobrazPopis = true) { BookDao bookDao = new BookDao(); BookLikesDao palce = new BookLikesDao(); KnihovnaUserDao uzivatele = new KnihovnaUserDao(); KnihovnaUser myUser = uzivatele.GetByLogin(User.Identity.Name); Book b = bookDao.GetbyId(id); b.PocetReakci[0] = palce.GetBookLikes(b.Id, 0) ?? 0; b.PocetReakci[1] = palce.GetBookLikes(b.Id, 1) ?? 0; b.PocetReakci[2] = palce.GetBookLikes(b.Id, 2) ?? 0; b.PocetReakci[3] = palce.GetBookLikes(b.Id, 3) ?? 0; if (User.Identity.IsAuthenticated) { b.CurrentUserReakce = General.GetBookUserRating(b.Id, myUser.Id); } else { b.CurrentUserReakce = -2; } ViewBag.Zobraz = zobrazPopis; KnihovnaKomentareDao knihovnaKomentareDao = new KnihovnaKomentareDao(); IList <KnihovnaKomentare> knihovnaKomentare = knihovnaKomentareDao.GetAll(); IList <KnihovnaKomentare> filtrovaneKomentare = new List <KnihovnaKomentare>(); foreach (KnihovnaKomentare koment in knihovnaKomentare) { if (koment.TopicId == 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; } } filtrovaneKomentare.Add(koment); } } // Seřadíme reply comenty IList <KnihovnaKomentare> filtrovaneKomentareBackup = filtrovaneKomentare.ToList(); IList <KnihovnaKomentare> posledniKomenty = new List <KnihovnaKomentare>(); foreach (KnihovnaKomentare koment in filtrovaneKomentareBackup) { if (koment.ReplyId <= 0) { posledniKomenty.Add(koment); // Přidáme všechny subkomenty foreach (KnihovnaKomentare k in filtrovaneKomentareBackup) { if (k.ReplyId == koment.Id) { posledniKomenty.Add(k); } } } } ViewBag.Komentare = posledniKomenty; return(View(b)); }