示例#1
0
        /// <summary>
        /// Remove like
        /// </summary>
        /// <param name="liked">Liked object</param>
        /// <returns>Result object</returns>
        public DBResult <Liked> DeleteLiked(Liked liked)
        {
            DBResult <Liked> dbResult = new DBResult <Liked>();

            // Validating input object
            if (liked == null)
            {
                dbResult.Message = "Invalid Like";
                return(dbResult);
            }
            try
            {
                using (SevenDaysContext db = new SevenDaysContext(Configuration))
                {
                    liked = db.Liked.Where(l => l.IdUser == liked.IdUser && l.IdMovie == liked.IdMovie).FirstOrDefault();
                    // Remove like from database
                    if (liked != null)
                    {
                        db.Liked.Remove(liked);
                        db.SaveChanges();
                        dbResult.Message = "YES"; //Mark to decrement likes counter
                    }
                    dbResult.Success = true;
                    dbResult.Item    = liked;
                }
            }
            catch (Exception ex)
            {
                dbResult.Message = Common.GetMessageError(ex);
            }
            return(dbResult);
        }
示例#2
0
        public ActionResult SetLikeState(int noteid, bool liked)
        {
            int   res  = 0;
            Liked like = likedManager.Find(x => x.Note.Id == noteid && x.LikedUser.Id == CurrentSession.User.Id);
            Note  note = noteManager.Find(x => x.Id == noteid);

            if (like != null && liked == false)
            {
                res = likedManager.Delete(like);
            }
            else if (like == null && liked == true)
            {
                res = likedManager.Insert(new Liked()
                {
                    LikedUser = CurrentSession.User,
                    Note      = note
                });
            }
            if (res > 0)
            {
                if (liked == true)
                {
                    note.LikeCount++;
                }
                else
                {
                    note.LikeCount--;
                }
                noteManager.Update(note);
                return(Json(new { hasError = true, errorMessage = string.Empty, result = note.LikeCount }));
            }//hasError ters mantık ile yaptım çünkü auth ile kullanıcı kontrolü yapıldığında action calısmıyor ve scriptte hasError kontrolünde hasError default olarak false geldiği için patlıyor.

            return(Json(new { hasError = false, errorMessage = "Beğenme işlemi gerçekleştirilemedi.", result = note.LikeCount }));
        }
        public ActionResult SetLikeState(int shareid, bool liked)
        {
            int res = 0;

            Liked like = likedManager.Find(x => x.Share.ShareId == shareid && x.LikedUser.Id == CurrentSession.manager.Id);

            Share share = shareManager.Find(x => x.ShareId == shareid);

            if (like != null && liked == false)
            {
                res = likedManager.Delete(like);
            }
            else if (like == null && liked == true)
            {
                res = likedManager.Insert(new Liked()
                {
                    LikedUser = CurrentSession.manager,
                    Share     = share
                });
            }
            if (res > 0)
            {
                if (liked)
                {
                    share.LikeCount++;
                }
                else
                {
                    share.LikeCount--;
                }
                shareManager.Update(share);
                return(Json(new { hasError = false, errorMessage = string.Empty, result = share.LikeCount }));
            }
            return(Json(new { hasError = true, errorMessage = "Beğenme işlemi gerçekleştirilemedi", result = share.LikeCount }));
        }
示例#4
0
        public IActionResult SetLiked(bool liked, int userid, int tweetid)
        {
            if (liked == false)
            {
                Liked like       = new Liked();
                Tweet tweet      = db.Tweets.Where(x => x.Id == tweetid).FirstOrDefault();
                User  user       = db.Users.Where(x => x.Id == userid).FirstOrDefault();
                int   likenumber = tweet.LikedNumber;
                likenumber        = likenumber + 1;
                tweet.LikedNumber = likenumber;
                like.TweetId      = tweet.Id;
                like.UserId       = user.Id;
                like.User         = user;
                like.Tweet        = tweet;
                db.Likes.Add(like);
                db.SaveChanges();

                return(Json(new { result = tweet.LikedNumber }));
            }
            else
            {
                Liked like       = db.Likes.Where(x => x.TweetId == tweetid && x.UserId == userid).FirstOrDefault();
                Tweet tweet      = db.Tweets.Where(x => x.Id == tweetid).FirstOrDefault();
                int   likenumber = tweet.LikedNumber;
                likenumber        = likenumber - 1;
                tweet.LikedNumber = likenumber;
                db.Likes.Remove(like);
                db.Tweets.Update(tweet);
                db.SaveChanges();

                return(Json(new { result = tweet.LikedNumber }));
            }
        }
示例#5
0
        public ActionResult SetLikeState(int noteid, bool liked)
        {
            int   res  = 0;
            Liked like = likedManager.Find(x => x.Note.Id == noteid && x.LikedUser.Id == CurrentSession.User.Id);
            Note  note = noteManager.Find(x => x.Id == noteid);

            if (like != null && liked == false)
            {
                res = likedManager.Delete(like);
            }
            else if (like == null && liked == true)
            {
                res = likedManager.Insert(new Liked()
                {
                    LikedUser = CurrentSession.User,
                    Note      = note
                });
            }
            if (res > 0)
            {
                if (liked)
                {
                    note.LikeCount++;
                }
                else
                {
                    note.LikeCount--;
                }
                res = noteManager.Update(note);
                return(Json(new { hasError = false, errorMessage = string.Empty, result = note.LikeCount }));
            }
            return(Json(new { hasError = true, errorMessage = "Begenme işlemi gerçekleştirilemedi.", result = note.LikeCount }));
        }
示例#6
0
        /// <summary>
        /// Createing a new like
        /// </summary>
        /// <param name="liked">Liked object</param>
        /// <returns>Result object</returns>
        public DBResult <Liked> CreateLiked(Liked liked)
        {
            DBResult <Liked> dbResult = new DBResult <Liked>();

            if (liked == null)
            {
                dbResult.Message = "Invalid Like";
                return(dbResult);
            }
            try
            {
                using (SevenDaysContext db = new SevenDaysContext(Configuration))
                {
                    db.Liked.Add(liked);
                    db.SaveChanges();
                    dbResult.Success = true;
                    dbResult.Item    = liked;
                }
            }
            catch (Exception ex)
            {
                dbResult.Message = Common.GetMessageError(ex);
            }
            return(dbResult);
        }
示例#7
0
        public async Task <IActionResult> Unlike(string id)
        {
            var    ids = id.Split("~");
            string applicationUserId = ids[0].ToString();
            string otherUserId       = ids[1].ToString();

            var unlike = await _db.Liked.FirstOrDefaultAsync(x => x.ApplicationUserLikedID == otherUserId && x.ApplicationUserID == applicationUserId);

            _db.Liked.Remove(unlike);


            bool likeExists = _db.Liked.Where(x => x.ApplicationUserLikedID == applicationUserId &&
                                              x.ApplicationUserID == otherUserId).Any();

            if (likeExists == true)
            {
                Liked otherUnlike = await _db.Liked.FirstOrDefaultAsync(x => x.ApplicationUserLikedID == applicationUserId && x.ApplicationUserID == otherUserId);

                otherUnlike.IsMatch    = false;
                otherUnlike.IsNewMatch = false;
                _db.Update(otherUnlike);
            }

            await _db.SaveChangesAsync();

            return(RedirectToAction("Index", "Match", new { id = applicationUserId }));
        }
示例#8
0
        public ActionResult SetLikeState(int noteid, bool liked)
        {
            if (CurrentSession.User == null)
            {
                return(null);
            }

            //tru ve false olmadıgını anlamak icin
            int res = 0;


            //böyle bir like varmı.Kullanıcı like yapmışsa kayıt gelir
            Liked like = likedManager.Find(x => x.Note.Id == noteid && x.LikedUser.Id == CurrentSession.User.Id);

            //notu al
            Note note = noteManager.Find(x => x.Id == noteid);

            //begenilmişse  false gelirse unlike yapılabilir
            if (like != null && liked == false)
            {
                //unlike yap
                res = likedManager.Delete(like);
            }

            //kulanıcı like yapıyo
            else if (like == null && liked == true)
            {
                res = likedManager.Insert(new Liked()

                {
                    //begenen kişi suanki kullanıcı
                    LikedUser = CurrentSession.User,

                    Note = note
                });
            }

            //bir işlem yapıldıysa
            if (res > 0)
            {
                //like yapıldıysa bir arttır
                if (liked)
                {
                    note.LikeCount++;
                }

                //else ise unlike yapılmısştır
                else
                {
                    note.LikeCount--;
                }
                //notu update et
                res = noteManager.Update(note);

                return(Json(new { hasError = false, errorMessage = string.Empty, result = note.LikeCount }));
            }

            return(Json(new { hasError = true, errorMessage = "zaten begendiniz.", result = note.LikeCount }));
        }
示例#9
0
        public int GetLike(int likeid)
        {
            Liked like = likeRepo.Get(x => x.Id == likeid);

            int value = like.Id;

            return(value);
        }
示例#10
0
        public ActionResult SendLiked(int?nID, bool state)
        {
            Note         note = null;
            EvernoteUser user = null;

            int?lID = CSession.User.ID;

            note = noteManager.Find(x => x.ID == nID);
            user = userManager.Find(x => x.ID == lID);

            int count = 0;

            if (nID != null && lID != null)
            {
                if (note != null && user != null)
                {
                    if (state)
                    {
                        Liked Liked = likedManager.Find(x => x.LikedUser.ID == lID && x.Note.ID == note.ID);

                        count = likedManager.Delete(Liked);

                        if (count > 0)
                        {
                            note.likeCount = note.likeCount - 1;
                            noteManager.Update(note);

                            return(Json(new { status = true, likedCount = note.likeCount }));
                        }
                    }
                    else
                    {
                        Liked liked = new Liked();

                        liked.LikedUser = user;
                        liked.Note      = note;

                        count = likedManager.insert(liked);

                        if (count > 0)
                        {
                            note.likeCount = note.likeCount + 1;
                            noteManager.Update(note);

                            return(Json(new { status = true, likedCount = note.likeCount }));
                        }
                    }

                    return(Json(new { status = false, text = "Beğendiğiniz Not Silinmiş Olabilir!" }));
                }

                return(Json(new { status = false, text = "Beğendiğiniz Not Silinmiş Olabilir!" }));
            }

            return(Json(new { status = false, text = "Beğendiğiniz Not Silinmiş Olabilir!" }));
        }
示例#11
0
        public JsonResult DisLike(int f, int u)
        {
            Film  EvaluatedMovie = null;
            Liked Needed         = null;

            EvaluatedMovie = context.Films.FirstOrDefault(g => g.FilmId == f);
            var likedfilms = context
                             .Users.Include(g => g.Likeds.Select(l => l.LikedFilm))
                             .FirstOrDefault(g => g.UserId == u)
                             .Likeds;

            Needed = likedfilms.FirstOrDefault(g => g.LikedFilm == EvaluatedMovie);
            if (Needed != null && Needed.Evaluation == Evaluation.Dislike)
            {
                return(Json(new
                {
                    LikeCount = EvaluatedMovie.Like,
                    DislikeCount = EvaluatedMovie.DisLike
                }, JsonRequestBehavior.AllowGet));
            }
            if (Needed != null && Needed.Evaluation == Evaluation.Like)
            {
                EvaluatedMovie.DisLike += 1;
                EvaluatedMovie.Like    -= 1;
                Needed.Evaluation       = Evaluation.Dislike;
                context.SaveChanges();
                return(Json(new
                {
                    LikeCount = EvaluatedMovie.Like,
                    DislikeCount = EvaluatedMovie.DisLike
                }, JsonRequestBehavior.AllowGet));
            }
            if (Needed == null)
            {
                EvaluatedMovie.DisLike += 1;
                Needed = new Liked()
                {
                    Evaluation = Evaluation.Dislike,
                    LikedFilm  = EvaluatedMovie
                };
                likedfilms.Add(Needed);
                context.SaveChanges();
                return(Json(new
                {
                    LikeCount = EvaluatedMovie.Like,
                    DislikeCount = EvaluatedMovie.DisLike
                }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new
            {
                Text = "finaly",
                LikeCount = EvaluatedMovie.Like,
                DislikeCount = EvaluatedMovie.DisLike
            }, JsonRequestBehavior.AllowGet));
        }
示例#12
0
        /// <summary>
        /// Put a like
        /// </summary>
        /// <param name="liked">Liked object</param>
        /// <returns>Result object</returns>
        public BLResult <Liked> PutLike(Liked liked)
        {
            DBResult <Liked> dbResult;
            DBResult <Movie> movieResult;
            DBResult <User>  userResult;
            BLResult <Liked> result = new BLResult <Liked>();


            // Validating input data
            if (liked == null)
            {
                result.Message = "Invalid data";
                return(result);
            }

            // Validating user
            userResult = userDataAccess.GetUserById(liked.IdUser);
            if (!userResult.Success)
            {
                result.Message = "Invalid user";
                return(result);
            }

            // Check that it has not been liked before
            if (!likedDataAccess.HasALike(liked))
            {
                // Adding like
                dbResult = likedDataAccess.CreateLiked(liked);
                if (dbResult.Success)
                {
                    result.Success = true;
                    result.Item    = liked;

                    // Increment like counter
                    movieResult = movieDataAccess.IncrementLikesCounter(liked.IdMovie, 1);
                    if (!movieResult.Success)
                    {
                        result.Success = false;
                        result.Message = movieResult.Message;
                    }
                }
                else
                {
                    result.Message = dbResult.Message;
                }
            }
            else
            {
                // If it exists continue
                result.Success = true;
                result.Item    = liked;
            }

            return(result);
        }
示例#13
0
        public JsonResult LikeThis(int id)
        {
            var   article = _articleManager.GetAll().FirstOrDefault(x => x.Id == id);
            Liked liked   = new Liked();

            liked.ArticleId        = id;
            liked.ArticleLikedDate = DateTime.Now;
            _likedManager.Add(liked);

            return(Json(null, JsonRequestBehavior.AllowGet));
        }
示例#14
0
        public ActionResult SetLikeProcess(int?id, bool isInsert)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Note note = _noteManager.Get(x => x.Id == id.Value && x.IsDeleted == false);
            User user = CurrentCookieTester.GetCurrentUser(CookieKeys.signedUserToken);

            if (note == null && user == null)
            {
                return(new RedirectResult("/MyEvernoteHome/Index"));
            }

            if (isInsert == true)
            {
                Liked liked = new Liked();
                liked.Note = note;
                liked.User = user;

                if (_likeManager.Get(x => x.Note.Id == note.Id && x.User.Id == user.Id) == null)
                {
                    if (_likeManager.Insert(liked) > 0)
                    {
                        note.LikeCount++;
                        _noteManager.Update(note);
                        return(Json(new { result = 1, likeCount = note.LikeCount, likeStatus = isInsert }, JsonRequestBehavior.AllowGet));
                    }
                    return(Json(new { result = 0, message = "Like Prosesi Ugursuz Oldu. Sistemde Xeta Yarandi Zehmet Olmasa Birazdan Tekrar Cehd Edin", likeCount = note.LikeCount, likeStatus = !isInsert }, JsonRequestBehavior.AllowGet));
                }

                return(new RedirectResult("/MyEvernoteHome/Index"));
            }
            else
            {
                Liked deletingLike = _likeManager.Get(x => x.Note.Id == note.Id && x.User.Id == user.Id);

                if (deletingLike != null)
                {
                    if (_likeManager.PermanentlyDelete(deletingLike) > 0)
                    {
                        note.LikeCount--;
                        _noteManager.Update(note);
                        return(Json(new { result = 1, likeCount = note.LikeCount, likeStatus = isInsert }, JsonRequestBehavior.AllowGet));
                    }

                    return(Json(new { result = 0, message = "Post Beyenilme Prosesi zamani Xeta Formalasdi. Postunuz Beyenilmedi. Zehmet Olmasa Birazdan Tekrar Cehd Edin", likeCount = note.LikeCount, likeStatus = !isInsert }));
                }

                //return Json(new { result = -1, message = "Post Daha Once Dislike Olunmusdur. Sisteminizde Xeta Yaranmisdir Zehmet Olmasa Sehifeni Yenileyin Ve Tekrar Cehd Edin"});
                return(new RedirectResult("/MyEvernoteHome/Index"));
            }
        }
示例#15
0
        public IActionResult like(int id)
        {
            int?  uid = HttpContext.Session.GetInt32("userId");
            Liked nw  = new Liked
            {
                userid  = (int)uid,
                ideasid = id,
            };

            _context.Add(nw);
            _context.SaveChanges();
            // Other code
            return(RedirectToAction("activity", "idea"));
        }
示例#16
0
        public Liked Like(int pictureId, int userId)
        {
            Picture p = _iPictureRepository.GetById(pictureId);
            Liked   l = new Liked
            {
                owerId    = p.UserId,
                UserId    = userId,
                PictureId = pictureId,
                Visible   = 1
            };

            _iPictureRepository.addLike(l);
            return(l);
        }
示例#17
0
 /// <summary>
 /// Check if a like exists
 /// </summary>
 /// <param name="liked"></param>
 /// <returns></returns>
 public bool HasALike(Liked liked)
 {
     using (SevenDaysContext db = new SevenDaysContext(Configuration))
     {
         var likedDb = db.Liked.Where(lk => lk.IdMovie == liked.IdMovie && lk.IdUser == liked.IdUser).FirstOrDefault();
         if (likedDb == null)
         {
             return(false);
         }
         else
         {
             return(true);
         }
     }
 }
示例#18
0
        public async Task <IActionResult> Like([Bind("ApplicationUserID,ApplicationUserLikedID")] Liked liked)
        {
            if (ModelState.IsValid)
            {
                bool likeExists = _db.Liked.Where(x => x.ApplicationUserID == liked.ApplicationUserLikedID &&
                                                  x.ApplicationUserLikedID == liked.ApplicationUserID).Any();

                if (likeExists == true)
                {
                    liked.IsMatch    = true;
                    liked.IsNewMatch = true;

                    Liked applicationUserAlreadyLiked = await _db.Liked
                                                        .FirstOrDefaultAsync(x => x.ApplicationUserID == liked.ApplicationUserLikedID &&
                                                                             x.ApplicationUserLikedID == liked.ApplicationUserID);

                    applicationUserAlreadyLiked.IsMatch    = true;
                    applicationUserAlreadyLiked.IsNewMatch = true;

                    _db.Update(applicationUserAlreadyLiked);
                }
                else
                {
                    liked.IsMatch    = false;
                    liked.IsNewMatch = false;
                }

                liked.ID = Guid.NewGuid();
                _db.Add(liked);
                await _db.SaveChangesAsync();

                return(RedirectToAction("Index", "Home"));
            }

            ApplicationUser applicationUser = await _db.ApplicationUser
                                              .Include(x => x.Height)
                                              .Include(x => x.About)
                                              .FirstOrDefaultAsync(x => x.Id == liked.ApplicationUserID);

            ProfileViewModel profileViewModel = new ProfileViewModel()
            {
                ApplicationUser = applicationUser,
                Liked           = liked
            };

            return(View(profileViewModel));
        }
        public ActionResult SetLikeState(int noteid, bool liked)
        {
            int res = 0;

            if (CurrentSession.User == null)
            {
                return(Json(new { hasError = true, errorMessage = "Beğenme işlemi için giriş yapmalısınız.", result = 0 }));
            }
            //Like var mı o kullanıcıya ait?
            Liked like =
                likedManager.Find(x => x.Note.Id == noteid && x.LikedUser.Id == CurrentSession.User.Id);

            Note note = noteManager.Find(x => x.Id == noteid);

            //like dolu gelmiş ise bidaha like yapılmaması
            if (like != null && liked == false)
            {
                res = likedManager.Delete(like);
            }
            else if (like == null && liked == true) //like yapmadığını like yapmamaya çalışamaz
            {
                res = likedManager.Insert(new Liked()
                {
                    LikedUser = CurrentSession.User,
                    Note      = note
                });
            }

            if (res > 0)
            {
                if (liked)
                {
                    note.LikeCount++; //like yapma
                }
                else
                {
                    note.LikeCount--; //like yapmama
                }

                res = noteManager.Update(note);

                return(Json(new { hasError = false, errorMessage = string.Empty, result = note.LikeCount }));
            }

            return(Json(new { hasError = true, errorMessage = "Beğenme işlemi gerçekleştirilemedi.", result = note.LikeCount }));
        }
示例#20
0
        protected void btnPass_Click(object sender, EventArgs e)
        {
            if (Request.QueryString["userEmail"] != null)
            {
                //  lblPhoneNumber.Text= Request.QueryString["userEmail"];
                Liked  pass      = new Liked();
                string userEmail = Session["userEmail"].ToString();
                pass.LikedEmail = Request.QueryString["userEmail"];
                pass.UserEmail  = userEmail;

                Serialization serialize = new Serialization();

                string returnedValue = serialize.doSerializePass(pass, userEmail);

                lblPhoneNumber.Text = returnedValue;
            }
        }
示例#21
0
        public ActionResult SetLikeState(int noteid, bool liked)
        {
            int res = 0;

            if (MySession.CurrentUser == null)
            {
                return(Json(new { hasError = true, errorMessage = "You must be logged in to like.", result = 0 }));
            }

            Liked like =
                lr.Find(x => x.Note.Id == noteid && x.LikedUser.Id == MySession.CurrentUser.Id);

            Note note = nr.Find(x => x.Id == noteid);

            if (like != null && liked == false)
            {
                res = lr.Delete(like);
            }
            else if (like == null && liked == true)
            {
                res = lr.Insert(new Liked()
                {
                    LikedUser = MySession.CurrentUser,
                    Note      = note
                });
            }

            if (res > 0)
            {
                if (liked)
                {
                    note.LikeCount++;
                }
                else
                {
                    note.LikeCount--;
                }

                res = nr.Update(note);

                return(Json(new { hasError = false, errorMessage = string.Empty, result = note.LikeCount }));
            }

            return(Json(new { hasError = true, errorMessage = "Failed to perform liking.", result = note.LikeCount }));
        }
示例#22
0
        public ActionResult SetLikeState(int productid, bool liked)
        {
            int res = 0;

            if (CurrentSession.User == null)
            {
                return(Json(new { hasError = true, errorMessage = "Beğenme işlemi için giriş yapmalısınız.", result = 0 }));
            }

            Liked like =
                likedManager.Find(x => x.Product.Id == productid && x.LikedUser.Id == CurrentSession.User.Id);

            Product product = productManager.Find(x => x.Id == productid);

            if (like != null && liked == false)
            {
                res = likedManager.Delete(like);
            }
            else if (like == null && liked == true)
            {
                res = likedManager.Insert(new Liked()
                {
                    LikedUser = CurrentSession.User,
                    Product   = product
                });
            }

            if (res > 0)
            {
                if (liked)
                {
                    product.LikeCount++;
                }
                else
                {
                    product.LikeCount--;
                }

                res = productManager.Update(product);

                return(Json(new { hasError = false, errorMessage = string.Empty, result = product.LikeCount }));
            }

            return(Json(new { hasError = true, errorMessage = "Beğenme işlemi gerçekleştirilemedi.", result = product.LikeCount }));
        }
        protected void gvPass_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            // myPassList.RemoveAt(3);
            DBConnect     delete    = new DBConnect();
            Liked         d         = new Liked();
            Serialization serialize = new Serialization();

            string s = gvPass.Rows[e.RowIndex].Cells[0].Text;

            d.LikedEmail = s;

            d.UserEmail = Session["userEmail"].ToString();

            Byte[] returnedValue = serialize.doSerializeStringV(d, Session["userEmail"].ToString());


            ShowUseres();
        }
示例#24
0
        public ActionResult SetLikeState(int noteid, bool liked)
        {
            using (LikedManager likedManager = new LikedManager())
            {
                using (SharingManager sharingManager = new SharingManager())
                {
                    int     result = 0;
                    Liked   like   = likedManager.Find(x => x.Shareing.Id == noteid && x.likedUser.Id == CurrentSession.shareBookUser.Id && !x.likedUser.isDeleted && !x.Shareing.isDelete);
                    Sharing share  = sharingManager.Find(x => x.Id == noteid && !x.Owner.isDeleted && !x.isDelete && !x.Owner.isDeleted);


                    if (like != null && liked == false)
                    {
                        result = likedManager.Delete(like);
                    }
                    else if (like == null && liked == true)
                    {
                        result = likedManager.Insert(new Liked()
                        {
                            likedUser = CurrentSession.shareBookUser,
                            Shareing  = share
                        });
                    }

                    if (result > 0)
                    {
                        if (liked)
                        {
                            share.LikeCount++;
                        }
                        else
                        {
                            share.LikeCount--;
                        }
                        sharingManager.Update(share);

                        return(Json(new { hasError = false, errorMessage = string.Empty, result = share.Likes.Where(x => !x.likedUser.isDeleted).ToList().Count }));
                    }


                    return(Json(new { hasError = true, errorMessage = "Beğenme işlemi gerçekleştirilemedi", result = share.Likes.Where(x => !x.likedUser.isDeleted).ToList().Count }));
                }
            }
        }
示例#25
0
        public ActionResult SetLikeState(int articleid, bool liked)
        {
            if (CurrentSession.User != null)
            {
                int     res     = 0;
                Liked   like    = liked_mngr.Find(x => x.Articles.Id == articleid && x.LikedUser.Id == CurrentSession.User.Id); //Böyle bir Like var mı?Eğer kullanıcı Likelamış ise bize kayıt gelecek zaten!
                Article article = article_mngr.Find(x => x.Id == articleid);                                                    //Peki böyle bir article var mı? database de Admin silmis olabilir vs.

                if (like != null && liked == false)                                                                             // like!=null demek bu article zaten likelanmış o zaman bize gelen liked==false olması lazım ki daha onceden likelanmış oldugunu anlayalım.
                {
                    res = liked_mngr.Delete(like);
                }
                else if (like == null && liked == true)
                {
                    res = liked_mngr.Insert(new Liked()
                    {
                        LikedUser = CurrentSession.User,
                        Articles  = article
                    });
                }

                if (res > 0)
                {
                    if (liked)
                    {
                        article.LikeCount++;
                    }
                    else
                    {
                        article.LikeCount--;
                    }

                    res = article_mngr.Update(article);

                    return(Json(new { hasError = false, errorMessage = string.Empty, result = article.LikeCount }));
                }


                return(Json(new { hasError = true, errorMessage = "liking process could not be performed.", result = article.LikeCount }));
            }

            return(Json(new { hasError = true, errorMessage = "Please register or login!", result = -1 }));
        }
示例#26
0
        public ActionResult SetLikeState(int noteid, bool liked)
        {
            if (CurrentSession.User != null)
            {
                int   res  = -1;
                Liked like = _likedManager.Find(x => x.LikedUser.Id == CurrentSession.User.Id && x.Note.Id == noteid);
                Note  note = _noteManager.Find(x => x.Id == noteid);
                if (like != null && liked == false)
                {
                    res = _likedManager.Delete(like);
                }
                else if (like == null && liked == true)
                {
                    res = _likedManager.Insert(new Liked()
                    {
                        LikedUser = CurrentSession.User,
                        Note      = note
                    });
                }

                if (res > 0)
                {
                    if (liked)
                    {
                        note.LikeCount++;
                    }
                    else
                    {
                        note.LikeCount--;
                    }

                    res = _noteManager.Update(note);
                    return(Json(new { hasError = false, errorMessage = string.Empty, result = note.LikeCount }));
                }

                return(Json(new
                            { hasError = true, errorMessage = "Beğenme işlemi gerçekleştirilemedi", result = note.LikeCount }));
            }
            else
            {
                return(HttpNotFound("Giriş yapılmadığı için hata aldınız!"));
            }
        }
示例#27
0
        public ActionResult GetLikeState(int noteId, bool likedState)
        {
            int result = 0;

            if (CurrentSession.User != null)
            {
                #region DB'de like-dislike işlemlerinin işlenmesi
                Liked liked = likedManager.Find(q => q.Note.Id == noteId && q.LikedUser.Id == CurrentSession.User.Id);
                Note  note  = noteManager.Find(q => q.Id == noteId);

                if ((note != null && liked != null) && likedState == false)
                {
                    result = likedManager.Delete(liked);
                }
                else if ((note != null && liked == null) && likedState == true)
                {
                    result = likedManager.Insert(new Liked {
                        LikedUser = CurrentSession.User,
                        Note      = note,
                    });
                }
                #endregion

                #region LikeCount değerini ayarlama
                if (note != null && result > 0)
                {
                    if (likedState)
                    {
                        note.LikeCount++;
                    }
                    else
                    {
                        note.LikeCount--;
                    }
                    result = noteManager.Update(note);

                    return(Json(new { hasError = false, errorMessage = string.Empty, likeCount = note.LikeCount }));
                }
                #endregion
            }
            return(Json(new { hasError = true, errorMessage = "Beğenme işlemide hata oluştu!", likeCount = 0 }));
        }
        public ApplicationViewModel()
        {
            //mediaFiles = MediaVeiwModel.GetInstance();

            WelcomPage        = new Welcom(this);
            AuthorizationPage = new Authorization(this);
            RegistrationPage  = new Registration(this);
            HomePage          = new Home(this);
            LikedPage         = new Liked(this);
            HistoryPage       = new History(this);
            AddPage           = new Add(this);

            WelcomPage        = welcomPage;
            RegistrationPage  = registrationPage;
            AuthorizationPage = authorizationPage;
            HomePage          = homePage;
            HistoryPage       = historyPage;
            LikedPage         = likedPage;
            AddPage           = addPage;
        }
示例#29
0
        public IActionResult LikeThis([FromBody] LikeModel likeModel)
        {
            //var header = Request.Headers.FirstOrDefault(x=>x.Value.Equals("Authorization")).Value[0];
            var tokenString = likeModel.TokenString;
            JwtSecurityTokenHandler jsth = new JwtSecurityTokenHandler();
            JwtSecurityToken        jst  = jsth.ReadJwtToken(tokenString);
            var userName = jst.Claims.ToList()[0].Value;

            if (!Startup.LikeDic.ContainsKey(userName))
            {
                Liked l = _iPictureService.Like(likeModel.pictureId, _userService.GetByName(userName).Id);
                Startup.LikeDic.Add(userName, likeModel.pictureId);
                return(Ok(new
                {
                    likeModel.pictureId,
                    userName
                }));
            }
            return(BadRequest("你今天已经点过赞了!"));
        }
示例#30
0
        public IActionResult Like(int id)
        {
            Idea TheIdea    = _context.Ideas.Include(w => w.Likeds).ThenInclude(u => u.User).SingleOrDefault(w => w.IdeaId == id);
            User CurrUser   = _context.Users.SingleOrDefault(u => u.UserId == HttpContext.Session.GetInt32("id"));
            var  CheckLiked = _context.Likeds.Where(l => l.User == CurrUser && l.Idea == TheIdea).ToList();

            if (TheIdea.Creator != CurrUser && CheckLiked.Count < 1)
            {
                Liked NewLike = new Liked
                {
                    UserId    = (int)HttpContext.Session.GetInt32("id"),
                    IdeaId    = TheIdea.IdeaId,
                    CreatedAt = DateTime.Now,
                    UpdatedAt = DateTime.Now
                };
                _context.Likeds.Add(NewLike);
                _context.SaveChanges();
            }
            return(RedirectToAction("Dashboard"));
        }