public ActionResult ConfirmTicketPurchase(Guid id)
        {
            var ticket = db.TrainTickets.Find(id);

            if (ticket == null ||
                ticket.UserId.ToString() != User.Identity.GetUserId())
            {
                return(new HttpStatusCodeResult(404));
            }

            if (ticket.IsConfirmed)
            {
                ViewBag.IsAlreadyConfirmed = true;
                ViewBag.IsConfirmed        = false;
                return(View("PurchaseConfirmed"));
            }

            // confirm the ticket and update it
            ticket.IsConfirmed = true;

            db.TrainTickets.Attach(ticket);
            var entry = db.Entry(ticket);

            entry.Property(e => e.IsConfirmed).IsModified = true;
            db.SaveChanges();

            ViewBag.IsConfirmed = true;
            return(View("PurchaseConfirmed"));
        }