protected void UpdateParameters(int itemId, int otherItemId) { List <Rating> users = (List <Rating>)ItemUsersTable[otherItemId]; double gradientSum = 0; foreach (Rating r in users) { // a user had rate itemId and otherItemId if (RatingTable.ContainsKey(r.UserId, itemId)) { gradientSum += 1; } gradientSum -= Predict(r.UserId, itemId, otherItemId); } double gradient = gradientSum / (UserItemsTable.Count + 1.0); if (reg_l1 < Math.Abs(gradient)) { if (gradient > 0) { double update = (gradient - reg_l1) / (1.0 + reg_l2); W[itemId, otherItemId] = (float)update; } else { double update = (gradient + reg_l1) / (1.0 + reg_l2); W[itemId, otherItemId] = (float)update; } } else { W[itemId, otherItemId] = 0; } }
public double Predict(int userId, int itemId, int excludeItemId) { double sum = 0.0; // A ranking score if (K > 0) { List <Link> items = (List <Link>)SimilarItemsTable[itemId]; foreach (Link r in items) { // this user had rated this similar item. if (r.To != excludeItemId && RatingTable.ContainsKey(userId, r.To)) { sum += W[itemId, r.To]; } } } else { List <Rating> items = (List <Rating>)UserItemsTable[itemId]; foreach (Rating r in items) { if (r.ItemId != excludeItemId) { sum += W[itemId, r.ItemId]; } } } return(sum); }
private void MovieDetail_Load(object sender, EventArgs e) { RatingTable.DeleteByUser(UserInfo.TEST_USER_ID); PreviousButton.Enabled = false; index = 0; movies = MovieTable.Select(); SetDataForMovie(); }
private void button1_Click(object sender, EventArgs e) { RatingTable.AddRating(movies[index].Id, UserInfo.TEST_USER_ID, Convert.ToDecimal(RatingButton.Text), CommentTextBox.Text); setMyRatingLabel(movies[index].Id); movies[index].EnabledRating = false; EnableOrDisableAddButton(); loadCommentsForMovie(movies[index].Id); AvgRatingLabel.Text = MovieTable.SelectAvgRatingForMovie(movies[index].Id).ToString("0.##"); }
public void setMyRatingLabel(int Movie_ID) { if (RatingTable.SelectByUserIdAndMovieId(UserInfo.TEST_USER_ID, Movie_ID) == null) { MyRating.Text = "Dosud nehodnoceno"; } else { MyRating.Text = RatingTable.SelectByUserIdAndMovieId(UserInfo.TEST_USER_ID, Movie_ID).Rate.ToString("0.##"); } }
public static void rateBook(int idB, string desc, int rate) { Books b = new Books(); b = getBookById(idB); RatingTable RateB = new RatingTable(); RateB.bookId = b.id; // RateB.borrowerId = b.lenderId; RateB.desk = desc; RateB.rating = rate; RateB.dateInsert = DateTime.Now; BooksData.rateBook(RateB); }
public void Save(RatingTable item, string UserId) { if (item.Id == 0) { item.CreatedBy = UserId; item.CreationDate = DateTime.Now; _dbContext.Add(item); } else { item.ModifiedBy = UserId; item.ModifiedDate = DateTime.Now; _dbContext.Entry(item).State = EntityState.Modified; } _dbContext.SaveChanges(); }
public static Rating CastRaitingTableToRating(RatingTable ratingTable) { if (ratingTable != null) { Rating Rating = new Rating(); Rating.bookId = ratingTable.bookId; Rating.borrowerId = ratingTable.borrowerId; Rating.desk = ratingTable.desk; Rating.id = ratingTable.id; Rating.rating = ratingTable.rating; //????????? // Rating.kealYhad = ratingTable.rating; return(Rating); } return(null); }
public IActionResult CreateRatingTable(RatingTableIndexViewModel model) { var UserId = HttpContext.Session.GetString("UserId"); if (ModelState.IsValid) { var item = new RatingTable { Id = model.RatingTable.Id, Description = model.RatingTable.Description, }; _RatingTable.Save(item, UserId); return(RedirectToAction("Index")); } else { return(RedirectToAction("Index", model)); } }
private void loadCommentsForMovie(int Movie_ID) { string comment; CommentsView.Items.Clear(); Collection <Rating> ratings = RatingTable.SelectMovieID(Movie_ID); foreach (Rating rating in ratings) { if (rating.Comment == null) { comment = ""; } else { comment = rating.Comment.ToString(); } UserInfo user = new UserInfo(); user = UserTable.Select(rating.User_id); string[] row = { user.Nickname, rating.Rate.ToString(), comment }; var listViewItem = new ListViewItem(row); CommentsView.Items.Add(listViewItem); } }
public static void DeleteAllDataFromDatabase() { Collection <RatingHistory> ratingHistories1 = RatingHistoryTable.Select(); foreach (RatingHistory ratingHist in ratingHistories1) { RatingHistoryTable.Delete(ratingHist.Id); } Collection <Rating> ratings1 = RatingTable.Select(); foreach (Rating rate in ratings1) { RatingTable.Delete(rate.Movie_id, rate.User_id); } Collection <UserInfo> users1 = UserTable.Select(); foreach (UserInfo user in users1) { UserTable.Delete(user.Id); } Collection <MovieGenre> movieGenres1 = MovieGenreTable.Select(); foreach (MovieGenre movieGen in movieGenres1) { MovieGenreTable.Delete(movieGen.Movie_id, movieGen.Genre_id); } Collection <Genre> genres1 = GenreTable.Select(); foreach (Genre gen in genres1) { GenreTable.Delete(gen.Id); } Collection <MovieActor> movieActors1 = MovieActorTable.Select(); foreach (MovieActor movieAct in movieActors1) { MovieActorTable.Delete(movieAct.Actor_id, movieAct.Movie_id); } Collection <Actor> actors1 = ActorTable.Select(); foreach (Actor act in actors1) { ActorTable.Delete(act.Id); } Collection <Movie> movies1 = MovieTable.Select(); foreach (Movie mov in movies1) { MovieTable.Delete(mov.Id); } Collection <Director> dirs = DirectorTable.Select(); foreach (Director dir in dirs) { DirectorTable.Delete(dir.Id); } }
public static void TryAllOperationsOfModel() { Database db = new Database(); db.Connect(); Console.WriteLine(" Delete all data from database "); Console.WriteLine("------------------------------------------------------------------"); DeleteAllDataFromDatabase(); Console.WriteLine("\n\n User "); Console.WriteLine("------------------------------------------------------------------"); UserInfo userInfo = new UserInfo(); userInfo.Id = 1; userInfo.Nickname = "sob28"; userInfo.Firstname = "Tonda"; userInfo.Lastname = "Sobota"; userInfo.Email = "*****@*****.**"; userInfo.Points = 42; userInfo.Rank = "Pokročilý"; userInfo.Sex = null; userInfo.Country = null; userInfo.Shortinfo = null; UserTable.Insert(userInfo, db); userInfo.Lastname = "Nedela"; UserTable.Update(userInfo, db); UserTable.UserValuation(); // 5.7 Ocenění uživatelů UserTable.RecalculatePoints(); // 5.8 Přepočet získaných bodů Collection <UserInfo> users = UserTable.Select(); foreach (UserInfo user in users) { Console.WriteLine(UserTable.Select(user.Id, db).ToString()); } foreach (UserInfo user in UserTable.SelectUsersWithNumberOfRates(0)) //5.6 Pocet ohodnocených filmu větší než parametr { Console.WriteLine("User ID: " + user.Id + ", Number of rates: " + user.NumberOfRates); } Console.WriteLine("\n\n Director "); Console.WriteLine("------------------------------------------------------------------"); Director director = new Director(); director.Id = 1; director.Firstname = "Jakub"; director.Lastname = "Novák"; director.Nationality = "CZ"; director.Birthplace = "Brno"; director.Height = 1.5m; DirectorTable.Insert(director, db); director.Lastname = "Holý"; DirectorTable.Update(director, db); Collection <Director> directors = DirectorTable.Select(); foreach (Director dir in directors) { Console.WriteLine(DirectorTable.Select(dir.Id, db).ToString()); } Console.WriteLine("\n\n Movie "); Console.WriteLine("------------------------------------------------------------------"); Movie movie = new Movie(); movie.Id = 1; movie.Title = "Zmizení"; movie.Year = 2016; movie.Time = 215; movie.Language = "*****@*****.**"; movie.Description = "Velice dobrý film"; movie.Country = "USA"; movie.Award = true; movie.Premiere = new DateTime(2017, 05, 06); movie.Director_id = director.Id; MovieTable.Insert(movie, db); movie.Year = 2018; MovieTable.Update(movie, db); Collection <Movie> movies = MovieTable.Select(); foreach (Movie mov in movies) { Console.WriteLine(MovieTable.Select(mov.Id, db).ToString()); Console.WriteLine("Actor number: " + MovieTable.Select_Actor_Number(mov.Id)); //1.6 Výpis filmů a k nim počet obsazených herců } Console.WriteLine("\n\n Genre "); Console.WriteLine("------------------------------------------------------------------"); Genre genre = new Genre(); genre.Id = 1; genre.Name = "Thriller"; genre.Description = "Mrazivý žánr"; GenreTable.Insert(genre, db); genre.Name = "Horror"; GenreTable.Update(genre, db); Collection <Genre> genres = GenreTable.Select(); foreach (Genre gen in genres) { Console.WriteLine(GenreTable.Select(gen.Id, db).ToString()); } Console.WriteLine("\n\n Actor "); Console.WriteLine("------------------------------------------------------------------"); Actor actor = new Actor(); actor.Id = 1; actor.Firstname = "Čeněk"; actor.Lastname = "Volant"; actor.Nationality = "CZ"; actor.Birthplace = "Ostrava"; actor.Height = 1.5m; ActorTable.Insert(actor, db); actor.Firstname = "Jozef"; ActorTable.Update(actor, db); Collection <Actor> actors = ActorTable.Select(); foreach (Actor act in actors) { Console.WriteLine(ActorTable.Select(act.Id, db).ToString()); } Console.WriteLine("\n\n Rating "); Console.WriteLine("------------------------------------------------------------------"); Rating rating = new Rating(); rating.Movie_id = 1; rating.User_id = 1; rating.Rate = 8.5m; rating.Dateofadd = new DateTime(2018, 05, 08); rating.Comment = "Nic moc film"; RatingTable.Insert(rating, db); rating.Dateofadd = new DateTime(2018, 05, 09); RatingTable.Update(rating, db); RatingTable.AddRating(2, 2, rating.Rate, rating.Comment); // 6.5 Přidání hodnocení Collection <Rating> ratings = RatingTable.Select(); foreach (Rating rate in ratings) { Console.WriteLine(RatingTable.SelectMovieID(rate.Movie_id, db).ToString()); } Console.WriteLine("\n\n Rating History "); Console.WriteLine("------------------------------------------------------------------"); RatingHistory ratingHistory = new RatingHistory(); ratingHistory.Id = 1; ratingHistory.Rate = 9.5m; ratingHistory.Dateofchange = new DateTime(2018, 04, 30); ratingHistory.Comment = "Uleželo se mi to v hlavě"; ratingHistory.Rating_movie_id = 1; ratingHistory.Rating_userinfo_id = 1; RatingHistoryTable.Insert(ratingHistory, db); ratingHistory.Rate = 9m; RatingHistoryTable.Update(ratingHistory, db); Collection <RatingHistory> ratingHistories = RatingHistoryTable.Select(); foreach (RatingHistory ratingHist in ratingHistories) { Console.WriteLine(RatingHistoryTable.Select(ratingHist.Id, db).ToString()); } Console.WriteLine("\n\n Movie Genre "); Console.WriteLine("------------------------------------------------------------------"); MovieGenre movieGenre = new MovieGenre(); movieGenre.Movie_id = 1; movieGenre.Genre_id = 1; movieGenre.dateOfAdd = new DateTime(2016, 03, 22); MovieGenreTable.Insert(movieGenre, db); movieGenre.dateOfAdd = new DateTime(2016, 03, 25); MovieGenreTable.Update(movieGenre, db); Collection <MovieGenre> movieGenres = MovieGenreTable.Select(); foreach (MovieGenre movieGen in movieGenres) { Console.WriteLine(MovieGenreTable.SelectMovieId(movieGen.Movie_id, db).ToString()); } Console.WriteLine("\n\n Movie Actor "); Console.WriteLine("------------------------------------------------------------------"); MovieActor movieActor = new MovieActor(); movieActor.Movie_id = 1; movieActor.Actor_id = 1; movieActor.Role = "Hlavní hrdina"; movieActor.Fee = 22000; MovieActorTable.Insert(movieActor, db); movieActor.Fee = 25000; MovieActorTable.Update(movieActor, db); Collection <MovieActor> movieActors = MovieActorTable.Select(); foreach (MovieActor movieAct in movieActors) { Console.WriteLine(MovieActorTable.SelectMovieId(movieAct.Movie_id, db).ToString()); } Console.WriteLine("\n\n"); db.Close(); }