public static int GetBookNumber() { return((int)BooksControllerHelper.Context().Books.Find(_ => true).Count()); }
//public static Models.Book GetCheckBoxValues() //{ // ApplicationIdentityContext Context = ApplicationIdentityContext.Create(); // Book book = new Book(); // var allCategory = Context.Categories.Find(_ => true).ToEnumerable(); // var bookCategoriesViewModel = new List<BookCategoriesViewModel>(); // foreach (var category in allCategory) // { // bookCategoriesViewModel.Add(new BookCategoriesViewModel() // { // CategoryId = category.Id, // CategoryName = category.CategoryName, // IsSelected = false // }); // } // book.Categories = bookCategoriesViewModel; // return book; //} public static List <BooksSuggestViewModel> SuggestBook(string bookId, int option) { var Context = BooksControllerHelper.Context(); List <Book> listBook = Context.Books.Find(_ => true).ToList(); List <BooksSuggestViewModel> suggestBooks = new List <BooksSuggestViewModel>(); switch (option) { case 1: DateTime startTime = DateTime.Now.AddDays(-1); DateTime endTime = DateTime.Now; List <BooksSuggestViewModel> newList = new List <BooksSuggestViewModel>(); var b = Context.BooksStatistic.Find(x => x.EachDate.Equals(startTime.Date.AddHours(7))).ToList(); var c = Context.BooksStatistic.Find(x => x.EachDate.Equals(endTime.Date.AddHours(7))).ToList(); if (b.Count() == 0) { foreach (var c1 in c) { newList.Add(new BooksSuggestViewModel() { BookId = c1.BookId, Count = c1.Count, BookName = listBook.Find(x => x.Id.Equals(c1.BookId)).BookName, AuthorName = listBook.Find(x => x.Id.Equals(c1.BookId)).Authors, ImgPublicId = listBook.Find(x => x.Id.Equals(c1.BookId)).ImgPublicId, RateTime = listBook.Find(x => x.Id.Equals(c1.BookId)).RateTime }); } } else { foreach (var b1 in b) { foreach (var c1 in c) { if (b1.BookId == c1.BookId) { newList.Add(new BooksSuggestViewModel() { BookId = b1.BookId, Count = b1.Count + c1.Count, BookName = listBook.Find(x => x.Id.Equals(c1.BookId)).BookName, AuthorName = listBook.Find(x => x.Id.Equals(c1.BookId)).Authors, ImgPublicId = listBook.Find(x => x.Id.Equals(c1.BookId)).ImgPublicId, RateTime = listBook.Find(x => x.Id.Equals(c1.BookId)).RateTime }); } else { newList.Add(new BooksSuggestViewModel() { BookId = b1.BookId, Count = b1.Count, BookName = listBook.Find(x => x.Id.Equals(b1.BookId)).BookName, AuthorName = listBook.Find(x => x.Id.Equals(b1.BookId)).Authors, ImgPublicId = listBook.Find(x => x.Id.Equals(b1.BookId)).ImgPublicId, RateTime = listBook.Find(x => x.Id.Equals(b1.BookId)).RateTime }); } } } } suggestBooks = newList.OrderByDescending(x => x.Count).ToList(); suggestBooks = suggestBooks.GroupBy(x => x.BookId).Select(y => y.First()).ToList().Take(4).ToList(); Console.Write(suggestBooks); break; case 2: listBook = listBook.OrderByDescending(x => x.AvarageRating).Take(4).ToList(); foreach (var book in listBook) { suggestBooks.Add(new BooksSuggestViewModel() { BookId = book.Id, BookName = book.BookName, AuthorName = book.Authors, ImgPublicId = book.ImgPublicId, RateTime = book.RateTime }); } break; case 3: listBook = listBook.OrderByDescending(x => x.ReleaseDay).Take(4).ToList(); foreach (var book in listBook) { suggestBooks.Add(new BooksSuggestViewModel() { BookId = book.Id, BookName = book.BookName, AuthorName = book.Authors, ImgPublicId = book.ImgPublicId, RateTime = book.RateTime }); } break; case 4: var modelBook = Context.Books.Find(x => x.Id.Equals(new ObjectId(bookId))).FirstOrDefault(); foreach (var book in listBook) { int count = 0; foreach (var category in modelBook.Categories) { if (book.Categories.Contains(category) && !book.Id.Equals(new ObjectId(bookId))) { count = count + 1; } } if (book.Id != bookId) { suggestBooks.Add(new BooksSuggestViewModel() { BookId = book.Id, BookName = book.BookName, AuthorName = book.Authors, ImgPublicId = book.ImgPublicId, RateTime = book.RateTime, Count = count }); } } Console.Write(suggestBooks); suggestBooks = suggestBooks.OrderByDescending(x => x.Count).Take(4).ToList(); break; } //return suggestBooks; return(suggestBooks); }
public static int GetBookNumber() { return((int)BooksControllerHelper.Context().Books.Find(x => x.Requested.Equals(false)).Count()); }