public ActionResult Filter(int?selectedUser) { List <Books> listOfBooks = new List <Books>(); List <LibraryUsers> listOfLibraryUsers = new List <LibraryUsers>(); UsersAndBooksReturnModel usersAndBooksReturnModel = new UsersAndBooksReturnModel(); var books = from b in db.Books where b.Availability == false select b; var users = from u in db.LibraryUsers select u; if (selectedUser.HasValue) { var booksUsers = db.BooksUsers .Where(bu => bu.LibraryUserID == selectedUser && bu.ReturnDate == null) .Select(bu => bu.BookID) .ToList(); books = books.Where(b => booksUsers.Contains(b.BookID)); users = users.Where(u => u.LibraryUserID == selectedUser); } listOfBooks = books.ToList(); listOfLibraryUsers = users.ToList(); usersAndBooksReturnModel.BooksViewModel = listOfBooks; usersAndBooksReturnModel.LibraryUsersViewModel = listOfLibraryUsers; return(View("Return", usersAndBooksReturnModel)); }
// GET: UsersAndBooks public ActionResult Index(string searchStringBook, string searchStringFirstName, string searchStringLastName, string searchStringOIB) { List <Books> listOfBooks = new List <Books>(); List <LibraryUsers> listOfLibraryUsers = new List <LibraryUsers>(); UsersAndBooksReturnModel usersAndBooksReturnModel = new UsersAndBooksReturnModel(); var books = from b in db.Books where b.Availability == false select b; if (!String.IsNullOrEmpty(searchStringBook)) { books = books.Where(b => b.Title.Contains(searchStringBook) || b.ISBN.Contains(searchStringBook)); } listOfBooks = books.ToList(); var users = from u in db.LibraryUsers select u; var booksUsers = db.BooksUsers .Where(bu => bu.ReturnDate == null) .Select(bu => bu.LibraryUserID) .ToList(); users = users.Where(u => booksUsers.Contains(u.LibraryUserID)); if (!String.IsNullOrEmpty(searchStringFirstName) || !String.IsNullOrEmpty(searchStringLastName) || !String.IsNullOrEmpty(searchStringOIB)) { users = users.Where(u => u.FirstName.Contains(searchStringFirstName) & u.LastName.Contains(searchStringLastName) & u.OIB.Contains(searchStringOIB)); } listOfLibraryUsers = users.ToList(); usersAndBooksReturnModel.BooksViewModel = listOfBooks; usersAndBooksReturnModel.LibraryUsersViewModel = listOfLibraryUsers; return(View(usersAndBooksReturnModel)); }