Beispiel #1
0
        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()));
            }
        }
Beispiel #2
0
        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);
            }
        }