/// <summary> /// Получает список книг, который оценил пользователь /// </summary> /// <param name="userId"></param> /// <returns> /// Список книг, которые оценил тот или иной пользователь /// </returns> public List <BookItem> getRatedBooks(int userId) { List <BookItem> ratedBooks = new List <BookItem>(); BookUser user = getUser(userId); List <GeneralRating> userRatings = user.getAllRatings(); for (int i = 0; i < userRatings.Count; i++) { BookItem ratedBook = getBookItem(userRatings[i].getItemId()); ratedBooks.Add(ratedBook); } return(ratedBooks); }
public BookItem pickItem(String name) { BookItem item = null; foreach (KeyValuePair <int, BookItem> kvp in allBooks) { BookItem anItem = kvp.Value; if (name.Equals(anItem.getName())) { item = kvp.Value; break; } } return(item); }
static void Main(string[] args) { #region Загрузка данных DatabaseHelper helper = new DatabaseHelper(); // Получить список всех книг List <BookItem> listOfBooks = new List <BookItem>(); listOfBooks = TypeConverter.ConvertBooks(helper.getAllBooks()); // Получить список всех пользователей List <BookUser> listOfUsers = new List <BookUser>(); listOfUsers = TypeConverter.ConvertUsers(helper.getAllUsers()); BookData ds = new BookData(); ds.createDataset(); #endregion #region Создание системы выработки рекомендаций на основе сходства предметов Delphi delphi = new Delphi(ds, RecommendationType.ITEM_BASED); // Создание системы выработки рекомендаций на основе сходства предметов delphi.setVerbose(true); BookUser bu1 = ds.pickUser("1"); // Рекомендация нескольких предметов пользователю "1" delphi.recommend(bu1); BookItem bi = ds.pickItem("2"); // Поиск похожих предметов // delphi.findSimilarItems(bi); #endregion }
public static List <BookItem> ConvertBooks(List <Book> books) { List <BookItem> bookItems = new List <BookItem>(); for (int i = 0; i < books.Count; i++) { DatabaseHelper dbHelper = new DatabaseHelper(); List <Rating> ratings = dbHelper.getAllRatingsByItemId(books[i].BookId); BookItem singleBook = new BookItem(books[i].BookId, books[i].ISBN, books[i].Title, books[i].Author, books[i].YearOfPublication.GetValueOrDefault(), books[i].Publisher, books[i].ImageURLS, books[i].ImageURLM, books[i].ImageURLL, ConvertRatings(ratings)); bookItems.Add(singleBook); } return(bookItems); }