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(); }
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()); }
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()); }
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(); }
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(); }
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")); }
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); } } }
public LikesService() { _likesContext = new LikesContext(); }
public LikesController(LikesContext context) { this.context = context; }