public ActionResult Edit(int id)
        {
            var service = CreateTicketService();
            var detail  = service.GetTicketById(id);
            var model   =
                new TicketEdit
            {
                TicketId  = detail.TicketId,
                EventName = detail.EventName,
            };

            return(View(model));
        }
        public ActionResult Edit(int id)
        {
            var service = CreateTicketService();
            var detail  = service.GetTicketsById(id);
            var model   = new TicketEdit
            {
                TicketId    = detail.TicketId,
                Price       = detail.Price,
                DateOfGame  = detail.DateOfGame,
                IsAvailable = detail.IsAvailable
            };

            return(View(model));
        }
        public ActionResult Edit(int id)
        {
            var service = CreateService();
            var detail  = service.GetTicketById(id);
            var model   =
                new TicketEdit
            {
                TicketID    = detail.TicketID,
                TicketTitle = detail.TicketTitle,
                TicketType  = detail.TicketType,
                TicketLink  = detail.TicketLink
            };

            return(View(model));
        }
        public bool UpdateTicket(TicketEdit model)
        {
            using (var ctx = new ApplicationDbContext())
            {
                var entity =
                    ctx
                    .Tickets
                    .Single(e => e.TicketId == model.TicketId && e.OwnerId == _userId);

                entity.Event.EventName = model.EventName;


                return(ctx.SaveChanges() == 1);
            }
        }
        //Update Ticket

        public bool UpdateTicket(TicketEdit model)
        {
            using (var ctx = new ApplicationDbContext())
            {
                var entity =
                    ctx
                    .Ticket
                    .Single(e => e.TicketId == model.TicketId);

                entity.Cost     = model.Cost;
                entity.SeatName = model.SeatName;

                return(ctx.SaveChanges() == 1);
            }
        }
        //PUT Change Cost/Seat
        public IHttpActionResult Put(TicketEdit ticket)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var service = CreateTicketService();

            if (!service.UpdateTicket(ticket))
            {
                return(InternalServerError());
            }

            return(Ok());
        }
        public bool UpdateTicket(TicketEdit model)
        {
            using (var ctx = new ApplicationDbContext())
            {
                var entity = ctx
                             .Tickets
                             .Single(t => t.TicketId == model.TicketId && t.OwnerId == _userId);


                entity.Price       = model.Price;
                entity.DateOfGame  = model.DateOfGame;
                entity.IsAvailable = model.IsAvailable;

                return(ctx.SaveChanges() == 1);
            }
        }
        public bool UpdateTicket(TicketEdit model)
        {
            using (var ctx = new ApplicationDbContext())
            {
                var entity =
                    ctx
                    .Tickets
                    .Single(e => e.TicketID == model.TicketID && e.OwnerID == _userID);

                entity.TicketID    = model.TicketID;
                entity.TicketTitle = model.TicketTitle;
                entity.TicketType  = model.TicketType;
                entity.TicketLink  = model.TicketLink;

                return(ctx.SaveChanges() == 1);
            }
        }
        public ActionResult Edit(int id, TicketEdit model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (model.TicketID != id)
            {
                ModelState.AddModelError("", "Id Mismatch");
                return(View(model));
            }

            var service = CreateService();

            if (service.UpdateTicket(model))
            {
                TempData["SaveResult"] = "Your ticket has been updated.";
                return(RedirectToAction("Index"));
            }

            ModelState.AddModelError("", "Your ticket could not be updated");
            return(View());
        }