public ActionResult AllTitles()
        {
            // TODO: Implement
            using (Team63LibraryContext db = new Team63LibraryContext())
            {
                var query = from t in db.Titles
                            join i in db.Inventory on t.Isbn equals i.Isbn into join1
                            from j1 in join1.DefaultIfEmpty()
                            join c in db.CheckedOut on j1.Serial equals c.Serial into join2
                            from j2 in join2.DefaultIfEmpty()
                            join p in db.Patrons on j2.CardNum equals p.CardNum into join3
                            from j3 in join3.DefaultIfEmpty()

                            select new
                {
                    isbn   = t.Isbn,
                    title  = t.Title,
                    author = t.Author,
                    serial = j1 != null ? (uint?)j1.Serial : null,
                    name   = j3 == null ? "" : j3.Name
                };

                return(Json(query.ToArray()));
            }
        }
        public IActionResult CheckLogin(string name, int cardnum)
        {
            // TODO: Fill in. Determine if login is successful or not.
            bool loginSuccessful;

            using (Team63LibraryContext db = new Team63LibraryContext())
            {
                var query = from p in db.Patrons
                            where
                            p.Name == name && p.CardNum == cardnum
                            select p;
                if (query.Count() < 1)
                {
                    loginSuccessful = false;
                }
                else
                {
                    loginSuccessful = true;
                }
            }


            if (!loginSuccessful)
            {
                return(Json(new { success = false }));
            }
            else
            {
                user = name;
                card = cardnum;
                return(Json(new { success = true }));
            }
        }
        public ActionResult ReturnBook(int serial)
        {
            // You may have to cast serial to a (uint)
            using (Team63LibraryContext db = new Team63LibraryContext())
            {
                CheckedOut c = new CheckedOut();
                c.CardNum = (uint)card;
                c.Serial  = (uint)serial;

                db.CheckedOut.Remove(c);

                db.SaveChanges();
            }
            return(Json(new { success = true }));
        }
        public ActionResult ListMyBooks()
        {
            // TODO: Implement
            using (Team63LibraryContext db = new Team63LibraryContext())
            {
                var query = from t in db.Titles
                            join i in db.Inventory on t.Isbn equals i.Isbn into join1
                            from j1 in join1.DefaultIfEmpty()
                            join c in db.CheckedOut on j1.Serial equals c.Serial into join2
                            from j2 in join2.DefaultIfEmpty()
                            where j2.CardNum == card
                            select new
                {
                    title  = t.Title,
                    author = t.Author,
                    serial = j2.Serial
                };


                return(Json(query.ToArray()));
            }
        }