public ActionResult Edit(Models.Seat seat)
        {
            if (ModelState.IsValid)
            {
                var seatEdit = new Domain.Seat();
                seatEdit.InjectFrom(seat);
                seatService.UpdateSeat(seatEdit);
                TempData["message"] = string.Format("{0} has been saved", seat.SeatNo);
            }

            else
            {
                return(View(seat));
            }

            return(RedirectToAction("Index"));
        }
        public void AddSeat(Domain.Seat value)
        {
            //var seatNoMax = 100;
            var seats = seatRepository.GetAll().Where(s => s.SeatNo == value.SeatNo &&
                                                      s.Status == value.Status).Any();

            if (!seats)
            {
                seatRepository.Add(value);

                //transform the object
                unitOfWork.Commit();
            }
            else
            {
                throw new ArgumentException("This seat already exist and it is booked");
            }
        }
        public ActionResult Create(Models.Seat model)
        {
            if (ModelState.IsValid)
            {
                if (!seatService.ExistsSeat(model.SeatNo))
                {
                    var dbModel = new Domain.Seat();
                    dbModel.InjectFrom(model);
                    //filmRepository.Add(dbModel);
                    seatService.AddSeat(dbModel);
                    TempData["message"] = string.Format("{0} has been saved", model.SeatNo);
                }
                else
                {
                    ModelState.AddModelError("SeatNo", "Can't add a seat number that is already in the database!");
                    return(View(model));
                }

                return(RedirectToAction("Index"));
            }

            return(View(model));
        }