Example #1
0
        public List <Book> SortBooks(List <Book> books, BookSortMethod m)
        {
            switch (m)
            {
            case BookSortMethod.ByID:
                books.Sort((x, y) => x.ID.CompareTo(y.ID));
                break;

            case BookSortMethod.ByTitle:
                books.Sort((x, y) => x.Title.CompareTo(y.Title));
                break;

            case BookSortMethod.ByAuthor:
                books.Sort((x, y) => x.Author.CompareTo(y.Author));
                break;

            case BookSortMethod.ByPages:
                books.Sort((x, y) => x.Pages.CompareTo(y.Pages));
                break;

            case BookSortMethod.ByYearReaded:
                books.Sort((x, y) => x.YearReaded.CompareTo(y.YearReaded));
                break;

            case BookSortMethod.ByYearRelease:
                books.Sort((x, y) => x.YearPublished.CompareTo(y.YearPublished));
                break;

            case BookSortMethod.ByState:
                books.Sort((x, y) => x.State.CompareTo(y.State));
                break;
            }

            return(books);
        }
Example #2
0
        public static void SortBooksFromBooksViewModel(BooksViewModel model, BookSortMethod m)
        {
            switch (m)
            {
            case BookSortMethod.ByID:
                model.Books.Sort((x, y) => x.ID.CompareTo(y.ID));
                break;

            case BookSortMethod.ByTitle:
                model.Books.Sort((x, y) => x.Title.CompareTo(y.Title));
                break;

            case BookSortMethod.ByAuthor:
                model.Books.Sort((x, y) => x.Author.CompareTo(y.Author));
                break;

            case BookSortMethod.ByPages:
                model.Books.Sort((x, y) => x.Pages.CompareTo(y.Pages));
                break;

            case BookSortMethod.ByYearReaded:
                model.Books.Sort((x, y) => x.YearReaded.CompareTo(y.YearReaded));
                break;

            case BookSortMethod.ByYearRelease:
                model.Books.Sort((x, y) => x.YearPublished.CompareTo(y.YearPublished));
                break;

            case BookSortMethod.ByState:
                model.Books.Sort((x, y) => x.State.CompareTo(y.State));
                break;
            }
        }
Example #3
0
        public IActionResult ShowSortedBooks(int sort, string search)
        {
            BookSortMethod method = (BookSortMethod)sort;

            var books = _service.GetBooksByUser(GetUserId().Result);

            if (!String.IsNullOrWhiteSpace(search))
            {
                books.RemoveAll(b => !b.Title.Contains(search));
            }

            var bookViewModelList = books.Select(b => new BookViewModel(b)).ToList();
            var booksViewModel    = new BooksViewModel {
                Books      = bookViewModelList,
                SortMethod = method
            };

            BookServie.SortBooksFromBooksViewModel(booksViewModel, method);

            return(View("../Books/BooksView", booksViewModel));
        }