private void HandleLikeEvent(bool isLike)
        {
            var userId = Page.User.Identity.GetUserId();
            var articledId = int.Parse(this.Request.QueryString["id"]);
            var like = this.LikesServices.GetByAuthorIdAndArticledId(userId, articledId);

            if (like != null)
            {
                this.LikesServices.ChangeLike(userId, articledId);
                (like.Value ? this.btnLike : this.btnHate).Visible = false;
                (!like.Value ? this.btnLike : this.btnHate).Visible = true;
            }
            else
            { 
                var createdLike = new Like()
                {
                    AuthorId = Page.User.Identity.GetUserId(),
                    ArticleId = int.Parse(this.Request.QueryString["id"]),
                    Value = isLike
                };
                this.LikesServices.CreateLike(createdLike);

                (createdLike.Value ? this.btnLike : this.btnHate).Visible = false;
                (!createdLike.Value ? this.btnLike : this.btnHate).Visible = true;
            }

        }
Ejemplo n.º 2
0
        public Like Create(Like like)
        {
            this.likes.Add(like);
            this.likes.SaveChanges();

            return like;
        }
        public LikeViewModel(Like like)
        {

            this.Id = like.Id;
            this.Score = like.Score;
            this.Created = like.Created;


        }
Ejemplo n.º 4
0
        public void Add(int tutorialId, string userId)
        {
            var newLike = new Like
            {
                UserId = userId,
                TutorialId = tutorialId
            };

            this.likes.Add(newLike);
            this.likes.Save();
        }
Ejemplo n.º 5
0
 public Notification(Like like)
 {
     ImageID = like.ImageID;
     PosterID = like.LikerID;
     type = "LikeNote";
     timeStamp = like.Timestamp;
     using (ImageHolderContext ihc = new ImageHolderContext())
     {
         imgown = ihc.ImageOwners.Include("Likes1").Include("Auction_").Include("Comments").Where(x => x.OwnerID == WebSecurity.CurrentUserId && x.ImageID == ImageID).FirstOrDefault();
         title = ihc.ImageOwners.Where(x => x.OwnerID == WebSecurity.CurrentUserId && x.ImageID == ImageID).FirstOrDefault().Title;
         userName = Controllers.AccountController.GetNameFromID(PosterID);
     }
 }
        protected void btnHate_Click(object sender, EventArgs e)
        {
            var articleIdAsString = this.Request.QueryString["id"];

            // TODO: validation

            var newLike = new Like()
            {
                Value = false,
                ArticleId = int.Parse(articleIdAsString),
                AuthorId = Page.User.Identity.GetUserId()
            };

            this.LikesServices.Create(newLike);
        }
Ejemplo n.º 7
0
        public ActionResult Like(int postId)
        {
            var like = new Like
            {
                CreatorId = this.User.Identity.GetUserId(),
                PostId = postId,
                CreatedOn = DateTime.UtcNow
            };

            this.likes.Add(like);

            var postLikesCount = this.likes.GetByPostId(postId).Count().ToString();

            return this.Json(new { Count = postLikesCount });
        }
        protected void LikeControl_Like(object sender, LikeEventArgs e)
        {
            string userID = this.User.Identity.GetUserId();
            Event article = this.dbContext.Events.Find(e.DataID);
            Like like = article.Likes.FirstOrDefault(l => l.UserID == userID);
            if (like == null)
            {
                like = new Like()
                {
                    UserID = userID,
                };

                this.dbContext.Events.Find(e.DataID).Likes.Add(like);
            }

            like.Value = e.LikeValue;
            this.dbContext.SaveChanges();

            var control = sender as LikeControl;
            control.Value = article.Likes.Sum(l => l.Value);
            control.CurrentUserVote = e.LikeValue;
        }
Ejemplo n.º 9
0
        public void Matches()
        {
            Like testSubject = new Like(/*ignorecase*/false,/*escapechar*/'\\');

            testSubject.SetPattern("foo%");

            Assert.That(null == testSubject.Matches(null));
            Assert.That(testSubject.Matches("foo") == true);
            Assert.That(testSubject.Matches("foobar") == true);
            Assert.That(testSubject.Matches("foa") == false);

            testSubject.SetPattern("foo_");

            Assert.That(null == testSubject.Matches(null));
            Assert.That(testSubject.Matches("fooz").Value);
            Assert.That(!testSubject.Matches("foobar").Value);
            Assert.That(!testSubject.Matches("foo").Value);

            testSubject.SetPattern("foo\\_\\%");

            Assert.That(null == testSubject.Matches(null));
            Assert.That(testSubject.Matches("foo_%").Value);
            Assert.That(!testSubject.Matches("foobar").Value);
            Assert.That(!testSubject.Matches("foo").Value);

            testSubject = new Like(/*ignorecase*/true,/*escapechar*/'\\');

            testSubject.SetPattern("FOO%");

            Assert.That(null == testSubject.Matches(null));
            Assert.That(testSubject.Matches("foo").Value);
            Assert.That(testSubject.Matches("foobar").Value);
            Assert.That(!testSubject.Matches("foa").Value);

            Assert.That(testSubject.Matches("fOo").Value);
            Assert.That(testSubject.Matches("FOoBaR").Value);
            Assert.That(!testSubject.Matches("foa").Value);
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> LikeUser(int id, int recipientId)
        {
            if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var like = await _repo.GetLike(id, recipientId);

            if (like != null)
            {
                _repo.Delete <Like>(like);
                if (await _repo.saveAll())
                {
                    return(Ok("Nie można polubić użytkownika"));
                }
            }

            if (await _repo.GetUser(recipientId) == null)
            {
                return(NotFound());
            }

            like = new Like
            {
                UserLikesId   = id,
                UserIsLikedId = recipientId
            };

            _repo.Add <Like>(like);
            if (await _repo.saveAll())
            {
                return(Ok());
            }

            return(BadRequest("Nie można polubić użytkownika"));
        }
Ejemplo n.º 11
0
        public ActionResult RatePhoto(long photoId)
        {
            using (var db2 = ApplicationDbContext.Create())
            {
                var photoExists = db2.Photos.Any(u => u.Id == photoId);
                if (!photoExists)
                {
                    return(View("NotFound"));
                }

                var currentUserId  = User.Identity.GetUserId();
                var isAlreadyLiked = db2.Likes.Any(u => u.PhotoId == photoId && u.ProfileId == currentUserId);

                if (isAlreadyLiked)
                {
                    var likeToRemove = db2.Likes.Where(u => u.PhotoId == photoId && u.ProfileId == currentUserId)
                                       .FirstOrDefault();

                    db2.Likes.Remove(likeToRemove);
                    db2.SaveChanges();
                }
                else
                {
                    var like = new Like()
                    {
                        ProfileId = currentUserId,
                        PhotoId   = photoId,
                        CreatedOn = DateTime.Now
                    };

                    db2.Likes.Add(like);
                    db2.SaveChanges();
                }

                return(Json(isAlreadyLiked));
            }
        }
Ejemplo n.º 12
0
        public async Task <IActionResult> LikeUser(int id, int recipientId)
        {
            // Make sure user is authorized to do this
            if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var like = await _repo.GetLike(id, recipientId);

            if (like != null)
            {
                return(BadRequest("You already like this user"));
            }

            // check if recipient exists
            if (await _repo.GetUser(recipientId) == null)
            {
                return(NotFound());
            }

            like = new Like
            {
                LikerId = id,
                LikeeId = recipientId
            };

            // the following stores it into memory. The next "if" saves to the DB
            _repo.Add <Like>(like);

            if (await _repo.SaveAll())
            {
                return(Ok());
            }

            return(BadRequest("Failed to like user"));
        }
Ejemplo n.º 13
0
    public bool IsExistLikeTrvNoByMemID(Like like)
    {
        MyDB            mydb = new MyDB();
        MySqlConnection con;
        int             getCount = 0;

        try
        {
            con = mydb.GetCon();
            string Sql = "SELECT count(*) as cnt FROM toourshared.like WHERE mem_id = @mem_id AND trv_no = @trv_no";

            MySqlCommand cmd = new MySqlCommand(Sql, con);
            cmd.Parameters.AddWithValue("@mem_id", like.Mem_id);
            cmd.Parameters.AddWithValue("@trv_no", like.Trv_no);

            con.Open();
            MySqlDataReader reader = cmd.ExecuteReader();

            if (reader.Read())
            {
                getCount = int.Parse(reader["cnt"].ToString());
            }

            reader.Close();
            con.Close();
        }
        catch (Exception e) {; }

        if (getCount > 0) // 존재할 시 1 이상일거고
        {
            return(true);
        }
        else // 존재하지 않는 경우
        {
            return(false);
        }
    }
Ejemplo n.º 14
0
        public bool Post([FromBody] Like like)
        {
            // Check auth
            if (!Authenticate())
            {
                return(false);
            }

            // Check if like's userId is valid
            if (like.UserId != int.Parse(Request.Headers["userId"]))
            {
                return(false);
            }

            // Modify like
            if (like.Id != 0)
            {
                Like lk = context.Likes.Find(like.Id);
                if (lk != null)
                {
                    lk.Copy(like);
                    context.SaveChanges();
                    return(true);
                }
            }

            // If user already like this post
            if (context.Likes.Any(l => l.PostId == like.PostId && l.UserId == like.UserId))
            {
                return(false);
            }

            // Create new like
            context.Likes.Add(like);
            context.SaveChanges();
            return(true);
        }
Ejemplo n.º 15
0
        public async Task <IActionResult> LikeUser(int id, int receptId)
        {
            // vérif si le token correspond à l'id reçu dans la requête
            if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            // verif si like existe
            var like = await _repo.GetLike(id, receptId);

            if (like != null)
            {
                return(BadRequest("user déjà liké"));
            }

            // vérif si user à liker existe
            if (await _repo.GetUser(receptId) == null)
            {
                return(NotFound());
            }

            // OK --> création de l'objet
            like = new Like
            {
                LikerId = id,
                LikeeId = receptId
            };
            // ajout dans la base
            _repo.Add <Like>(like);
            // sauvegarde de la base
            if (await _repo.SaveAll())
            {
                return(Ok());
            }
            return(BadRequest("erreur lors du like"));
        }
Ejemplo n.º 16
0
        public async Task <IActionResult> LikeUser(int id, int recipientId)
        {
            if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }
            ;

            var like = await _repo.GetLike(id, recipientId);

            if (like != null)
            {
                return(BadRequest("You already liked this user"));
            }

            if (await _repo.GetUser(recipientId) == null)
            {
                return(NotFound());
            }

            like = new Like
            {
                LikerId = id,
                LikeeId = recipientId
            };

            _repo.Add <Like>(like);

            if (await _repo.SaveAll())
            {
                return(Ok());
            }
            else
            {
                return(BadRequest("Failed to like user"));
            }
        }
Ejemplo n.º 17
0
        public async Task <IActionResult> LikeUser(int id, int recipientId)
        {
            // Compare that the id the user wants to update matches the id that was passed in the token.
            if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var like = await _repo.GetLike(id, recipientId);

            if (like != null)
            {
                return(BadRequest("You already like this user"));
            }

            if (await _repo.GetUser(recipientId, false) == null)
            {
                return(NotFound());
            }

            like = new Like()
            {
                LikerId = id,
                LikeeId = recipientId
            };

            // This is not an async method, just adds it to memory
            _repo.Add <Like>(like);

            if (await _repo.SaveAll())
            {
                return(Ok());
            }

            // If save fails
            return(BadRequest("Failed to like user"));
        }
        public async Task Dislike(int commentId, string userId)
        {
            if (this.dislikesRepository.All().Where(l => l.CreatorId == userId && l.CommentId == commentId).Count() == 0)
            {
                if (this.dislikesRepository.AllWithDeleted().Where(d => d.CommentId == commentId && d.CreatorId == userId).Count() != 0)
                {
                    Dislike dislike = this.dislikesRepository.AllWithDeleted().FirstOrDefault(d => d.CommentId == commentId && d.CreatorId == userId);

                    this.dislikesRepository.Undelete(dislike);
                }
                else
                {
                    Dislike dislike = new Dislike
                    {
                        CommentId = commentId,
                        CreatorId = userId,
                    };

                    await this.dislikesRepository.AddAsync(dislike);
                }
            }
            else
            {
                Dislike dislike = this.dislikesRepository.All().FirstOrDefault(l => l.CreatorId == userId && l.CommentId == commentId);
                this.dislikesRepository.Delete(dislike);
            }

            if (this.likesRepository.All().Where(x => x.CommentId == commentId && x.CreatorId == userId).Count() != 0)
            {
                Like like = this.likesRepository.All().FirstOrDefault(l => l.CreatorId == userId && l.CommentId == commentId);
                this.likesRepository.Delete(like);
            }

            await this.dislikesRepository.SaveChangesAsync();

            await this.likesRepository.SaveChangesAsync();
        }
Ejemplo n.º 19
0
        public IActionResult UpdateLike(int id, Like like)
        {
            if (id != like.Id)
            {
                return(BadRequest());
            }
            try
            {
                likeRepository.UpdateLike(id, like);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!LikeExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 20
0
        public IActionResult Like(int ID, string tipo)
        {
            Usuario u_sesion = HttpContext.Session.Get <Usuario>("UsuarioLogueado");

            if (db.Like.Where(l => (l.PubComResID == ID) && (l.Tipo == tipo) && (l.UsuarioID == u_sesion.UsuarioID)).Count() == 0)
            {
                Like like = new Like
                {
                    PubComResID = ID,
                    Tipo        = tipo,
                    UsuarioID   = u_sesion.UsuarioID,
                };
                db.Like.Add(like);
            }
            else
            {
                foreach (var like in db.Like.Where(l => (l.PubComResID == ID) && (l.Tipo == tipo) && (l.UsuarioID == u_sesion.UsuarioID)))
                {
                    db.Like.Remove(like);
                }
            }
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 21
0
        public async Task <IActionResult> Create(Guid RespuestaId, Guid MiembroId, bool meGusta, Guid idEntrada, Guid idLike)
        {
            Like like = new Like();

            var existeLike = _context.Like.Any(r => r.MiembroId == MiembroId && r.RespuestaId == RespuestaId);

            if (!existeLike || idLike != Guid.Empty)
            {
                if (idLike != Guid.Empty)
                {
                    await DeleteConfirmed(idLike, idEntrada);
                }
                else
                {
                    if (ModelState.IsValid)
                    {
                        like.RespuestaId = RespuestaId;
                        like.MiembroId   = MiembroId;
                        like.MeGusta     = meGusta;
                        like.Fecha       = DateTime.Now;
                        like.Id          = Guid.NewGuid();
                        _context.Add(like);
                        await _context.SaveChangesAsync();

                        return(RedirectToAction("Details", "Entradas", new { id = idEntrada }));
                    }
                }
            }
            else
            {
                TempData["validaLike"] = true;
            }
            //ViewData["MiembroId"] = new SelectList(_context.Miembro, "Id", "Apellido", like.MiembroId);
            //ViewData["RespuestaId"] = new SelectList(_context.Respuesta, "Id", "Descripcion", like.RespuestaId);
            return(RedirectToAction("Details", "Entradas", new { id = idEntrada }));
        }
Ejemplo n.º 22
0
        public void Test_Application_add_like()
        {
            // Arrange
            utils.CleanTables();
            var        userIds  = utils.CreateUsers();
            int        article1 = utils.CreateSingleArticle(userIds.Item2);
            int        article2 = utils.CreateSingleArticle(userIds.Item2);
            AspNetUser user     = new AspNetUser()
            {
                Id = userIds.Item1
            };
            Article article = new Article()
            {
                Id = article2
            };

            // Act
            Like like = newsservice.AddLike(user, article);

            // Assert
            Assert.IsNotNull(like);
            Assert.AreEqual <string>(userIds.Item1, like.AspNetUser.Id);
            Assert.AreEqual <int>(article2, like.Article.Id);
        }
        protected void LikeControl_Like(object sender, LikeEventArgs e)
        {
            Article article = this.dbContext.Articles.Find(Convert.ToInt32(e.DataID));
            string  userID  = this.User.Identity.GetUserId();
            Like    like    = article.Likes.FirstOrDefault(l => l.UserID == userID);

            if (like == null)
            {
                like = new Like()
                {
                    UserID = userID,
                    PostID = Convert.ToInt32(e.DataID)
                };

                article.Likes.Add(like);
                dbContext.Likes.Add(like);
            }

            like.Value = e.LikeValue;
            this.dbContext.SaveChanges();

            //LikeControl ctrl = sender as LikeControl;
            DataBind();
        }
Ejemplo n.º 24
0
        public async Task <IActionResult> AddLikeToProfile(long id)
        {
            var user = await _userManager.GetUserAsync(User);

            if (user != null)
            {
                User likedProfile = _context
                                    .Users
                                    .Where(u => u.Id == id)
                                    .FirstOrDefault();

                if (likedProfile == null)
                {
                    return(BadRequest("user not found"));
                }

                if (user.IsPsychologist || !likedProfile.IsPsychologist)
                {
                    return(BadRequest("only user can add likes to only psychologists"));
                }

                Like like = new Like
                {
                    UserId         = user.Id,
                    PsychologistId = likedProfile.Id
                };

                await _context.Likes.AddAsync(like);

                await _context.SaveChangesAsync();

                return(Ok());
            }

            return(BadRequest("server error. user is null"));
        }
Ejemplo n.º 25
0
        public async Task <JsonResult> Index(int itemId)
        {
            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            var hasLikedBefore = _context.Likes.FirstOrDefault(m => m.AdvertId == itemId && m.UserId == user.Id);

            if (hasLikedBefore != null)
            {
                _context.Likes.Remove(hasLikedBefore);
                _context.SaveChanges();
                return(Json("unliked"));
            }

            Like like = new Like
            {
                UserId   = user.Id,
                AdvertId = itemId
            };

            _context.Likes.Add(like);
            _context.SaveChanges();

            return(Json("liked"));
        }
Ejemplo n.º 26
0
        public async Task <IActionResult> LikeUser(int id, int recipientId)
        {
            var identityUser = int.Parse(User.FindFirstValue(ClaimTypes.NameIdentifier));

            if (id != identityUser)
            {
                return(Unauthorized());
            }

            var like = await _datingRepository.GetLikeAsync(id, recipientId);

            if (like != null)
            {
                return(BadRequest("You already like this user"));
            }

            if (await _datingRepository.GetUserAsync(recipientId) == null)
            {
                return(NotFound());
            }

            like = new Like
            {
                LikerId = id,
                LikeeId = recipientId
            };

            _datingRepository.Add <Like>(like);

            if (await _datingRepository.SaveChangesAsync())
            {
                return(Ok());
            }

            return(BadRequest("Failed to like user"));
        }
Ejemplo n.º 27
0
        public async Task <IActionResult> LikeUser(int id, int recipientId)
        {
            if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var like = await usersRepository.GetLike(id, recipientId);

            var likedUser = usersRepository.GetUser(recipientId, false).Result.KnownAs;

            if (like != null)
            {
                return(BadRequest("You already like " + likedUser));
            }

            if (await usersRepository.GetUser(recipientId, false) == null)
            {
                return(NotFound());
            }

            like = new Like
            {
                LikerId = id,
                LikedId = recipientId
            };

            repository.Add(like);

            if (await repository.SaveAll())
            {
                return(Ok());
            }

            return(BadRequest("Failed to like user" + likedUser));
        }
Ejemplo n.º 28
0
        public async Task GetLike_Success()
        {
            //arrange
            var liker = await _dataContext.Users.FirstAsync();

            var likee = await _dataContext.Users.FirstAsync(x => x.Id != liker.Id);

            var likeModel = new Like
            {
                LikeeId = likee.Id,
                LikerId = liker.Id
            };

            await _dataContext.Likes.AddAsync(likeModel);

            await _dataContext.SaveChangesAsync();

            //run
            var result = await _datingRepository.GetLike(liker.Id, likee.Id);

            Assert.IsNotNull(result);
            Assert.AreEqual(liker, result.Liker);
            Assert.AreEqual(likee, result.Likee);
        }
Ejemplo n.º 29
0
        public JsonResult AddLike(Guid id)
        {
            JsonLikeVM jr        = new JsonLikeVM();
            Guid       appuserID = service.AppUserService.UyeAdındanBul(HttpContext.User.Identity.Name).Id;

            if (!(service.LikeService.Any(x => x.AppUserID == appuserID && x.ProductID == id)))
            {
                Like like = new Like();
                like.ProductID = id;
                like.AppUserID = appuserID;
                service.LikeService.Add(like);

                jr.Likes       = service.LikeService.GetDefault(x => x.ProductID == id).Count();
                jr.userMessage = "";
                jr.isSuccess   = true;
                return(Json(jr, JsonRequestBehavior.AllowGet));
            }

            jr.isSuccess   = false;
            jr.userMessage = "Bu ürünü daha önce beğendiniz!";
            jr.Likes       = service.LikeService.GetDefault(x => x.ProductID == id).Count;

            return(Json(jr, JsonRequestBehavior.AllowGet));
        }
        protected void LikeControl_Like(object sender, LikeEventArgs e)
        {
            string  userID  = this.User.Identity.GetUserId();
            Article article = this.dbContext.Articles.Find(e.DataID);
            Like    like    = article.Likes.FirstOrDefault(l => l.UserID == userID);

            if (like == null)
            {
                like = new Like()
                {
                    UserID = userID,
                };

                this.dbContext.Articles.Find(e.DataID).Likes.Add(like);
            }

            like.Value = e.LikeValue;
            this.dbContext.SaveChanges();

            var control = sender as LikeControl;

            control.Value           = article.Likes.Sum(l => l.Value);
            control.CurrentUserVote = e.LikeValue;
        }
Ejemplo n.º 31
0
        public async Task <IActionResult> Like(int id)
        {
            var evnt = await _context.Events.FirstOrDefaultAsync(x => x.EventId == id);

            if (evnt == null)
            {
                return(NotFound());
            }

            var userId      = User.FindFirstValue(ClaimTypes.NameIdentifier);
            var userProfile = await _context.UserProfiles.FirstOrDefaultAsync(x => x.UserId == userId);

            // var userProfileId = userProfile.UserProfileId;
            var userProfileId = 2;

            var like = await _context.Likes.FirstOrDefaultAsync(x => x.UserId == userProfileId && x.EventId == id);

            if (like != null)
            {
                _context.Likes.Remove(like);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", new { id }));
            }

            like = new Like
            {
                EventId = id,
                UserId  = userProfileId
            };

            _context.Likes.Add(like);
            await _context.SaveChangesAsync();

            return(RedirectToAction("Details", new { id }));
        }
Ejemplo n.º 32
0
        public IActionResult LikeOrDislike(int secret_id, int is_like)
        {
            // LIKE IT
            if (is_like == 1)
            {
                // create a like
                Like newLike = new Like()
                {
                    secret_id = secret_id,
                    user_id   = _loggedUserId
                };
                _context.likes.Add(newLike);
                _context.SaveChanges();
            }
            // DISLIKE IT
            else
            {
                Secret withLike = _context.secrets.Include(s => s.Likes).SingleOrDefault(s => s.secret_id == secret_id);
                var    users    = _context.users;
                if (withLike == null)
                {
                    return(RedirectToAction("Index"));
                }

                Like likeToDelete = withLike.Likes.SingleOrDefault(l => l.user_id == _loggedUserId);
                if (likeToDelete == null)
                {
                    return(RedirectToAction("Index"));
                }

                // delete like!
                _context.likes.Remove(likeToDelete);
                _context.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 33
0
        public async Task <IActionResult> SendLike(int id, int recepientId)
        {
            // User is Authorize to do this operation.
            if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            // User already liked this RecepientUser.
            if (await _datingRepo.GetLike(id, recepientId) != null)
            {
                return(BadRequest("You have already like this user"));
            }

            // Recepient User exists or not.
            if (await _datingRepo.GetUser(recepientId) == null)
            {
                return(NotFound());
            }

            // Add Like in Repository.
            var newLike = new Like
            {
                LikerId = id,
                LikeeId = recepientId
            };

            _datingRepo.Add <Like>(newLike);

            if (await _datingRepo.SaveAll())
            {
                return(Ok());
            }

            return(BadRequest("Failed to like this user"));
        }
Ejemplo n.º 34
0
        public async Task <IActionResult> LikePost([FromRoute] int id)
        {
            if (!await PostExists(id))
            {
                return(BadRequest($"No post with {id} id."));
            }

            User user = await _currentUser.GetCurrentUser(HttpContext);

            Like like = await _context.Likes.FirstOrDefaultAsync(l =>
                                                                 l.UserId == user.Id && l.EntityId == id && l.Type == LikeType.Post);

            if (like == null)
            {
                like = new Like {
                    UserId = user.Id, EntityId = id, Type = LikeType.Post
                };
                _context.Likes.Add(like);
                await _context.SaveChangesAsync();

                return(Ok());
            }
            return(BadRequest("You have already liked this post"));
        }
Ejemplo n.º 35
0
        public async Task CreateLikeAsync(string userId, int reviewId, bool isLiked)
        {
            var like = await this.db.Likes.FirstOrDefaultAsync(l => l.UserId == userId && l.ReviewId == reviewId);

            if (like == null)
            {
                like = new Like
                {
                    IsLiked   = true,
                    UserId    = userId,
                    ReviewId  = reviewId,
                    CreatedOn = DateTime.UtcNow,
                };

                await this.db.Likes.AddAsync(like);
            }
            else
            {
                like.IsLiked    = isLiked;
                like.ModifiedOn = DateTime.UtcNow;
            }

            await this.db.SaveChangesAsync();
        }
Ejemplo n.º 36
0
        public async Task <IActionResult> GetLike(int likerId, int likeeId)
        {
            var like = await _DatingRepository.GetLike(likerId, likeeId);

            if (like != null)
            {
                return(BadRequest("You Already Like This User"));
            }

            if (await _DatingRepository.GetUser(likeeId) == null)
            {
                return(NotFound("User Not Found!"));
            }

            Like newLike = new Like()
            {
                LikerId = likerId, LikeeId = likeeId
            };

            _DatingRepository.Add <Like>(newLike);
            await _DatingRepository.SaveAll();

            return(Ok());
        }
Ejemplo n.º 37
0
        public async Task LikeAsync(int postId, string userId)
        {
            var like = this.likesRepository
                       .All()
                       .FirstOrDefault(v => v.UserId == userId && v.PostId == postId);

            if (like != null)
            {
                this.likesRepository.Delete(like);
            }
            else
            {
                like = new Like
                {
                    PostId = postId,
                    UserId = userId,
                    Type   = LikeType.Like,
                };

                await this.likesRepository.AddAsync(like);
            }

            await this.likesRepository.SaveChangesAsync();
        }
Ejemplo n.º 38
0
        public async Task <IActionResult> Like(int id, int recepientId)
        {
            if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }
            var user = await datingRepository.Getlikes(id, recepientId);

            if (user != null)
            {
                return(BadRequest("You cannot like user more than one"));
            }

            var like = new Like
            {
                LikeeId = recepientId,
                LikerId = id
            };

            datingRepository.Add <Like>(like);
            await datingRepository.SaveAll();

            return(Ok());
        }
Ejemplo n.º 39
0
        public IActionResult RSVP(int MessageId)
        {
            if (HttpContext.Session.GetInt32("user_id") == null)           //if user tried to hit the route through url without login or reg
            {
                return(RedirectToAction("Index", "User"));                 //no login or reg go back to the root index
            }
            int?    user_id     = HttpContext.Session.GetInt32("user_id"); //instantiated an instance of Wedding class called ThisWedding
            User    curruser    = _context.ninjas.Where(u => u.Id == user_id).SingleOrDefault();
            Message ThisMessage = _context.secrets
                                  .Include(w => w.likes)
                                  .ThenInclude(g => g.Promoter)
                                  .SingleOrDefault(w => w.Id == MessageId);
            Like newLike = new Like
            {
                PromoterId = curruser.Id,
                Promoter   = curruser,
                LikedId    = ThisMessage.Id,
                Liked      = ThisMessage
            };

            ThisMessage.likes.Add(newLike);
            _context.SaveChanges();
            return(RedirectToAction("Dashboard"));
        }
Ejemplo n.º 40
0
 public void Remove(Like likeToRemove)
 {
     this.likes.Delete(likeToRemove);
     this.likes.Save();
 }
Ejemplo n.º 41
0
	private void OnDownloadFinished(WWW www)
	{
		string json = www.text;
		Debug.LogWarning("Like JSON: " + json);
		var mixLike = Like.CreateObject(json);
		if (mixLike != null)
		{
			currentLike = mixLike;
			//likeButton.SetSprite(!mix.isLike);
			likeButton.value = mixLike.like;
			var likeLabel = likeButton.GetComponentInChildren<UILabel>();
			if (likeLabel != null)
			{
				likeLabel.text = mixLike.count.ToString();
			}
		}
	}
        public IHttpActionResult Like(int id)
        {
            var challengeResponse = this.data.ChallengeResponses.All()
                .FirstOrDefault(x => x.Id == id);

            if (challengeResponse == null)
            {
                return this.BadRequest("Challenge response wasn't found.");
            }

            var existingLike = this.data.Likes
                .All()
                .FirstOrDefault(l => l.UserId == this.CurrentUser.Id && l.ChallengeResponseId == challengeResponse.Id);

            var existingDislike = this.data.Dislikes
                .All()
                .FirstOrDefault(d => d.UserId == this.CurrentUser.Id && d.ChallengeResponseId == challengeResponse.Id);

            if (existingDislike != null)
            {
                this.data.Dislikes.Delete(existingDislike);
                challengeResponse.Rating++;
                this.data.SaveChanges();
            }

            if (existingLike == null)
            {
                var like = new Like
                {
                    UserId = this.CurrentUser.Id
                };

                challengeResponse.Likes.Add(like);
                challengeResponse.Rating++;
                this.data.SaveChanges();
            }
            else
            {
                this.data.Likes.Delete(existingLike);
                challengeResponse.Rating--;
                this.data.SaveChanges();
            }

            var votes = Mapper.Map<VotesViewModel>(challengeResponse);

            return this.Ok(votes);
        }
        public ActionResult LikePost(int postId)
        {
            var loggedUserId = this.User.Identity.GetUserId();

            // Check if user already like this post
            var checkLike = this.Data
                .Likes
                .All()
                .FirstOrDefault(l =>
                    l.FromId == loggedUserId &&
                    l.TargetId == postId &&
                    l.TargetType == TargetType.Post);

            if (checkLike != null)
            {
                return new EmptyResult();
            }

            var like = new Like()
            {
                FromId = loggedUserId,
                TargetId = postId,
                TargetType = TargetType.Post
            };

            var post = this.Data.Posts.All().FirstOrDefault(p => p.Id == postId);
            if (post != null)
            {
                post.Likes.Add(like);
            }
            this.Data.SaveChanges();

            return new EmptyResult();
        }
        public ActionResult LikePhoto(int photoId)
        {
            var loggedUserId = this.User.Identity.GetUserId();

            // Check if user already like this photo
            var checkLike = this.Data
                .Likes
                .All()
                .Where(l =>
                    l.FromId == loggedUserId &&
                    l.TargetId == photoId &&
                    l.TargetType == TargetType.Photo)
                .ToList();

            if (checkLike.Any())
            {
                return new EmptyResult();
            }

            var like = new Like()
            {
                FromId = loggedUserId,
                TargetId = photoId,
                TargetType = TargetType.Photo
            };

            var photo = this.Data.AlbumPhotos.All().FirstOrDefault(p => p.Id == photoId);

            if (photo != null)
            {
                photo.Likes.Add(like);
            }
            this.Data.SaveChanges();

            return new EmptyResult();
        }
Ejemplo n.º 45
0
        public ActionResult Rate(int id, int rate)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Like like = new Like();
                    like.ProductID = id;
                    User user = de.Users.Where(m => m.Username == User.Identity.Name).FirstOrDefault();
                    like.UserID = user.UserId;
                    like.Likes = rate;

                    List<Like> likes = de.Likes.Where(m => m.ProductID == id).ToList();
                    Like findUser = likes.Where(m => m.UserID == user.UserId).FirstOrDefault();

                    if (findUser != null)
                    {
                        return RedirectToAction("Details", "Products", new { id = id });
                    }

                    de.Likes.Add(like);
                    de.SaveChanges();

                    return RedirectToAction("Details", "Products", new { id = id });
                }
                catch (Exception) { }
            }

            return RedirectToAction("Details", "Products", new { id = id });
        }
Ejemplo n.º 46
0
 public bool SaveLike(likeItem like)
 {
     try
     {
         logger.LogMethod("DEBUG", "SaveLike/{complaintId}", like.complaintId + "/ started SaveLike/{complaintId}", null);
         context = new SocialCopsEntities();
         Like temp = new Like();
         temp.complaintId = like.complaintId;
         temp.userId = like.userId;
         temp.date = like.date;
         context.Likes.Add(temp);
         context.SaveChanges();
         logger.LogMethod("DEBUG", "SaveLike/{complaintId}", like.complaintId + "/ finished SaveLike/{complaintId}", null);
         return true;
     }
     catch (Exception ex)
     {
         error.Result = false;
         error.ErrorMessage = "Something happened. Sorry.";
         logger.LogMethod("ERROR", "SaveLike/{complaintId}", like.complaintId + ex.ToString(), null);
         throw new FaultException<Bug>(error, ex.Message.ToString());
     }
 }
Ejemplo n.º 47
0
 public void Add(Like like)
 {
     this.likes.Add(like);
     this.likes.Save();
 }
Ejemplo n.º 48
0
 public static Guid InsertStatusLike(Like objLike)
 {
     objLike.UserId = new Guid(LoggedInUserId);
     return new LikeFacade().InsertLike(objLike);
 }
Ejemplo n.º 49
0
        public BaseResponseAjaxModel LikeDislike(int tripId, string userId, bool value)
        {
            var dbTrip = this.GetById(tripId);
            var response = new BaseResponseAjaxModel();

            if (dbTrip == null)
            {
                response.ErrorMessage = "No such trip.";
                return response;
            }

            Like like = dbTrip.Likes
                .Where(l => l.UserId == userId && l.IsDeleted == false)
                .FirstOrDefault();

            if (like == null)
            {
                like = new Like()
                {
                    TripId = dbTrip.Id,
                    UserId = userId,
                    Value = value
                };

                dbTrip.Likes.Add(like);
            }
            else
            {
                like.Value = value;
            }

            this.tripRepos.Save();

            response.Status = true;
            response.Data = this.GetLikesCount(dbTrip);

            return response;
        }
Ejemplo n.º 50
0
        protected void LikeControl_Like(object sender, LikeEventArgs e)
        {
            var userID = this.User.Identity.GetUserId();
            var meme = this.dbContext.Memes.Find(e.DataID);
            var rating = new Like();
            rating.MemeId = e.DataID;
            rating.UserId = userID;
            if (e.LikeValue == 1)
            {
                rating.Value = true;
            }
            else
            {
                rating.Value = false;
            }

            meme.Likes.Add(rating);
            this.dbContext.SaveChanges();

            var control = sender as LikeControl;
            control.Likes = this.GetLikes(meme);
            control.Dislikes = this.GetDislikes(meme);
            control.UserHasVoted = 1;
        }
 public LikeViewModel Like2LikeViewModel(Like like)
 {
     return new LikeViewModel {User = GetUserById(like.UserId)};
 }
Ejemplo n.º 52
0
 public void CreateLike(Like like)
 {
     this.likes.Add(like);
     this.likes.SaveChanges();
 }