Beispiel #1
0
        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));
        }
Beispiel #2
0
        // 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));
        }