public ActionResult AddExamPaper(FormCollection f)
        {
            Account acc = (Account)Session["acc"];
            Candidate can = db.Candidates.SingleOrDefault(r => r.AccountID == acc.AccountID);

            ExaminationsPaper ep = new ExaminationsPaper();
            ep.CandidateID = can.CandidateID;
            ep.UniExamID = int.Parse(f["uniName"]);
            ep.VenueID = int.Parse(f["venueID"]);
            ep.StatitonID = int.Parse(f["stationid"]);
            ep.PickUpTime = int.Parse(f["pickupTime"]);
            db.ExaminationsPapers.Add(ep);
            db.SaveChanges();

            return RedirectToAction("ManageExamPaper");
        }
        public ActionResult ViewCar(int id) // carId
        {
            Car car = db.Cars.SingleOrDefault(r => r.CarID == id);

            if (car.ExaminationsPapers.Count > 0)
            {
                Lodge lodge = new Lodge();
                ExaminationsPaper examinationsPaper = new ExaminationsPaper();
                examinationsPaper = car.ExaminationsPapers.FirstOrDefault();
                lodge = db.Lodges.FirstOrDefault(l => l.LodgeID == examinationsPaper.LodgeRegisteredID);

                List<string> address = new List<string>();
                address.Add(lodge.Address);

                var venues = new List<Venue>();
                List<int> venueIDs = new List<int>();
                venueIDs = car.ExaminationsPapers.Select(r => r.VenueID).Distinct().ToList();
                foreach (int venueID in venueIDs) address.Add(db.Venues.SingleOrDefault(r => r.VenueID == venueID).Address);
                ViewData["Place"] = address;
            }

            return View(car);
        }
        public ActionResult DisplayRoute(int id) // carId
        {
            Car car = db.Cars.SingleOrDefault(r => r.CarID == id);

            Lodge lodge = new Lodge();
            ExaminationsPaper examinationsPaper = new ExaminationsPaper();
            examinationsPaper = car.ExaminationsPapers.FirstOrDefault();
            lodge = db.Lodges.FirstOrDefault(l => l.LodgeID == examinationsPaper.LodgeRegisteredID);

            List<string> address = new List<string>();
            address.Add(lodge.Address);

            var venues = new List<Venue>();
            List<int> venueIDs = new List<int>();
            // ds dia diem thi cua cac thi sinh thuoc xe nay.
            venueIDs = car.ExaminationsPapers.Select(r => r.VenueID).Distinct().ToList();
            foreach (int venueID in venueIDs)
            {
                address.Add(db.Venues.SingleOrDefault(r => r.VenueID == venueID).Address);
            }

            //var listExamPaper = new List<Owner>();
            //listExamPaper = db.ExaminationsPapers.Where(e => e.CarID == carId).ToList();
            //var listVenue = new List<Venue>();    
            //foreach (var ex in listExamPaper)
            //{
            //    listVenue.Add(ex.Venue);
            //}
            //listVenue = listVenue.Distinct().ToList();
            //var ep = new Owner();
            //var lodge = new Lodge();
            //var examPaper = listExamPaper.FirstOrDefault();
            //if (examPaper != null) joinIn = examPaper.JoinsIns.FirstOrDefault();
            //if (joinIn != null) lodge = joinIn.Room.Lodge;
            //var address = new List<string>();
            //address.Add(lodge.Address);
            //foreach (var venue in listVenue)
            //{
            //    address.Add(venue.Address);
            //}
            //address = new List<string>();
            //address.Add("03 hoa binh, quan 11");
            //address.Add("100 quang trung, quan 12");
            //address.Add("12 nguyen van bao, quan go vap");
            //address.Add("cong truong me linh");
            ViewData["Place"] = address;


            //ViewData["Place"] =
            //    "[{\"index\": 0, \"address\": \"01 le duan, quan 1\"}, {\"index\": 1, \"address\": \"01 lac long quan, quan tan binh\"}, {\"index\": 2, \"address\": \"01 tran quang khai, quan 1\"}, {\"index\": 3, \"address\": \"59 nguyen hong dao, quan tan binh\"}]";
            return View();
        }
 protected void AssignTheCar(List<ExaminationsPaper> eps, Car car)
 {
     ExaminationsPaper ep = new ExaminationsPaper();
     int quantity = eps.Count < car.AvailableSlots ? eps.Count : car.AvailableSlots;
     for (int i = 0; i < quantity; ++i)
     {
         ep = eps.FirstOrDefault(r => r.CarID == null);
         ep.CarID = car.CarID;
         --car.AvailableSlots;
     }
     db.SaveChanges();
 }