コード例 #1
0
        public async void ToLike(int num_of_likes, int bookId)
        {
            UserContext user_db  = new UserContext();
            var         userName = User.Identity.GetUserName();
            User        user     = await user_db.Users.FirstOrDefaultAsync(x => x.Login == userName); // UserId found

            LikesContext likes_db          = new LikesContext();
            var          real_num_of_likes = likes_db.Likes.ToArray().Length;

            Books b = db.Books.FirstOrDefault(b => b.id == bookId);
            // если в бд лайков не найден ни один лайк от пользователя
            Likes like = new Likes()
            {
                id      = (++real_num_of_likes),
                book_id = bookId,
                user_id = user.Id
            };

            likes_db.Likes.Add(like);

            b.likes = num_of_likes;

            await db.SaveChangesAsync();

            await likes_db.SaveChangesAsync();
        }
コード例 #2
0
 public List <Likes> LikesService()
 {
     _likesContext = new LikesContext();
     return(_likesContext.Likes.Select(b => new Likes()
     {
         id = b.id,
         book_id = b.book_id,
         user_id = b.user_id,
         is_like = b.is_like
     }).ToList());
 }
コード例 #3
0
        public ActionResult Index()
        {
            LikesContext likesContext  = new LikesContext();
            List <Like>  AllLikesCount = likesContext.Like.ToList();

            AllLikesCount = AllLikesCount.OrderByDescending(u => u.Count).ToList();
            CollectionContext collectionContext = new CollectionContext();

            ViewBag.Collections = collectionContext.Collections;
            ViewBag.LikesCount  = AllLikesCount;
            ViewBag.Likes       = likesContext.Likes;
            ViewBag.Count       = likesContext.Likes.Count();
            return(View());
        }
コード例 #4
0
        public async void ToUnLike(int num_of_likes, int bookId)
        {
            UserContext user_db  = new UserContext();
            var         userName = User.Identity.GetUserName();
            User        user     = await user_db.Users.FirstOrDefaultAsync(x => x.Login == userName); // UserId found

            LikesContext likes_db          = new LikesContext();
            var          real_num_of_likes = likes_db.Likes.ToArray().Length;

            Books b = db.Books.FirstOrDefault(b => b.id == bookId);

            var like_to_remove = likes_db.Likes.FirstOrDefault(i => (i.user_id == user.Id) && (i.book_id == bookId));

            likes_db.Remove(like_to_remove);

            b.likes = --num_of_likes;

            await db.SaveChangesAsync();

            await likes_db.SaveChangesAsync();
        }
コード例 #5
0
        public async void UpdateBooksLikes(int number, int bookId)
        {
            UserContext user_db  = new UserContext();
            var         userName = User.Identity.GetUserName();
            User        user     = await user_db.Users.FirstOrDefaultAsync(x => x.Login == userName); // UserId found

            LikesContext likes_db     = new LikesContext();
            var          num_of_likes = likes_db.Likes.ToArray().Length;

            Books b = db.Books.FirstOrDefault(b => b.id == bookId);

            if (likes_db.Likes.FirstOrDefault(i => (i.user_id == user.Id) && (i.book_id == bookId)) == null)
            {
                // если в бд лайков не найден ни один лайк от пользователя
                Likes like = new Likes()
                {
                    id      = (++num_of_likes),
                    book_id = bookId,
                    user_id = user.Id
                };

                likes_db.Likes.Add(like);

                b.likes = number;
            }
            else
            {
                // в бд лайков есть лайк от пользователя на заданную книгу

                var like_to_remove = likes_db.Likes.FirstOrDefault(i => (i.user_id == user.Id) && (i.book_id == bookId));
                likes_db.Remove(like_to_remove);

                //Books b = db.Books.FirstOrDefault(b => b.id == bookId);
                b.likes = (number - 2);
            }
            await db.SaveChangesAsync();

            await likes_db.SaveChangesAsync();
        }
コード例 #6
0
        public ActionResult Create(CreateCollectionModel model)
        {
            CollectionContext context = new CollectionContext();

            Models.Collections collections  = new Collections();
            LikesContext       likesContext = new LikesContext();
            Like like = new Like();
            List <Collections> listCol  = context.Collections.ToList();
            List <Like>        listLike = likesContext.Like.ToList();

            if (context.Collections.Count() >= 1)
            {
                collections.Id = listCol[listCol.Count - 1].Id + 1;
            }
            else
            {
                collections.Id = 1;
            }
            if (likesContext.Like.Count() >= 1)
            {
                like.Id = listLike[listLike.Count - 1].Id + 1;
            }
            else
            {
                like.Id = 1;
            }
            like.CollectionId = collections.Id;
            like.Count        = 0;
            likesContext.Like.Add(like);
            likesContext.SaveChanges();
            collections.ImgUrl      = "https://res.cloudinary.com/coursepoject/image/upload/v1585662014/" + model.image + ".jpg";
            collections.Topic       = model.Topic;
            collections.Description = model.Description;
            collections.UserId      = CurrentUser.Id;
            collections.Name        = model.Name;
            context.Collections.Add(collections);
            context.SaveChanges();
            return(View("Collections"));
        }
コード例 #7
0
        public void Like()
        {
            bool         flag         = Convert.ToBoolean(Request.QueryString["flag"]);
            int          idCollection = Convert.ToInt32(Request.QueryString["id"]);
            LikesContext likesContext = new LikesContext();
            List <Likes> listLikes    = likesContext.Likes.ToList();

            if (flag)
            {
                Likes likes = new Likes();
                if (likesContext.Likes.Count() >= 1)
                {
                    likes.Id = listLikes[listLikes.Count - 1].Id + 1;
                }
                else
                {
                    likes.Id = 1;
                }
                likes.Collection = idCollection;
                likes.UserId     = CurrentUser.Id;
                likesContext.Likes.Add(likes);
                likesContext.SaveChanges();
                int numberOfRowUpdated = likesContext.Database.ExecuteSqlCommand($"UPDATE Likes1 SET Count=Count+1 WHERE CollectionId={idCollection}");
            }
            else
            {
                int numberOfRowDeleted = likesContext.Database.ExecuteSqlCommand("DELETE FROM Likes WHERE Collection=@idCol and UserId=@userId", new SqlParameter("@idCol", idCollection), new SqlParameter("@userId", CurrentUser.Id));
                int numberOfRowUpdated = likesContext.Database.ExecuteSqlCommand($"UPDATE Likes1 SET Count=Count-1 WHERE CollectionId={idCollection}");
            }
            foreach (var item in likesContext.Like)
            {
                if (item.CollectionId == idCollection)
                {
                    Response.Write(item.Count);
                }
            }
        }
コード例 #8
0
 public LikesService()
 {
     _likesContext = new LikesContext();
 }
コード例 #9
0
 public LikesController(LikesContext context)
 {
     this.context = context;
 }