public ActionResult Like(int id, FavouriteReviews favReview) { try { if (ModelState.IsValid) { var getReviewId = _entitiesUser.Reviews.Find(id); string userID = getReviewId.User_Id; //získám ID uživatele který napsal review int reviewID = getReviewId.Id; var getUserId = _entitiesUser.AspNetUsers.Find(userID); //projdu uživatele, který má id totožné s výstavcem var getCurrentUser = User.Identity.GetUserId(); //ziskám aktuálního usera var activeUser = _entitiesUser.FavouriteReviews .Where(u => u.FavouriteReviewId == reviewID && u.UserId == getCurrentUser).ToList(); //začne hledat záznam v tabulce favouriteReviews, který má ZÁROVEŇ totožné ID review i uživatele s daty získanými z review výše a vrátí je do listu //include by vyfiltrovalo jen urcity typ například inclue(m => m.UserRank).where(u =>userRank > 50) if (activeUser.Count() == 0 && getReviewId.User_Id != getCurrentUser) //pokud je list favourite uživatelů roven 0 { getUserId.Points += 1; //nalezený uživatel, kterýá napsal recenzi getReviewId.ReviewPoints = getUserId.Points; favReview.UserId = getCurrentUser; favReview.FavouriteReviewId = reviewID; _entitiesUser.FavouriteReviews.Add(favReview); _entitiesUser.Entry(getUserId).State = EntityState.Modified; _entitiesUser.SaveChanges(); return(Redirect(Request.UrlReferrer.ToString())); } } return(Redirect(Request.UrlReferrer.ToString())); } catch (Exception e) { Console.WriteLine("{0} Exception caught.", e); return(Redirect(Request.UrlReferrer.ToString())); } }
public void Like(int id, FavouriteReviews favReview) { try { if (ModelState.IsValid) { var getReviewId = _entities.Reviews.Find(id); string userID = getReviewId.User_Id; int reviewID = getReviewId.Id; var getUserId = _entities.AspNetUsers.Find(userID); var getCurrentUser = User.Identity.GetUserId(); var activeUser = _entities.FavouriteReviews .Where(u => u.FavouriteReviewId == reviewID && u.UserId == getCurrentUser).ToList(); if (activeUser.Count() == 0) { getUserId.Points += 1; favReview.UserId = getCurrentUser; favReview.FavouriteReviewId = reviewID; _entities.FavouriteReviews.Add(favReview); _entities.Entry(getUserId).State = EntityState.Modified; _entities.SaveChanges(); } } RedirectToAction("Index"); } catch (Exception e) { Console.WriteLine("{0} Exception caught.", e); } }