private bool compraBoletas(List <int> allValidchair, int idCliente)
 {
     using (var db = new CinemonitoEntities())
     {
         foreach (int ids in allValidchair)
         {
             var         request      = db.ChairByMovie.Single(c => c.Id == ids);
             ChairEntity chairAllData = this.getOneChair((int)request.IdMovieByRoom, ids);
             var         addticket    = new Ticket
             {
                 IdClient      = idCliente,
                 IdMovieByRoom = request.IdMovieByRoom,
                 Quantity      = 1,
                 IdChair       = chairAllData.idChair,
             };
             db.Ticket.Add(addticket);
             request.IsAvailable = false;
         }
         db.SaveChanges();
         return(true);
     }
 }
        public ActionResult buyWindowTickets(int idMovieByRoom, int idClient, string chairSelectedArray)
        {
            using (var db = new CinemonitoEntities())
            {
                var        isValidsChairs        = new List <ChairEntity>();
                var        isNotValidsChairs     = new List <ChairEntity>();
                var        valorSillas           = 0;
                var        discountSilla         = 0;
                var        puntosCliente         = 0;
                var        freeTicketsWithPoints = 0;
                List <int> arrayChairSelected    = System.Web.Helpers.Json.Decode <List <int> >(chairSelectedArray);
                bool       isValid       = true;
                List <int> allValidchair = new List <int>();
                foreach (int ids in arrayChairSelected)
                {
                    var         chairSelect  = db.ChairByMovie.FirstOrDefault(x => x.Id == ids);
                    ChairEntity chairAllData = this.getOneChair(idMovieByRoom, ids);

                    if ((bool)chairSelect.IsAvailable)
                    {
                        isValidsChairs.Add(chairAllData);
                        allValidchair.Add(ids);
                        valorSillas   = valorSillas + chairAllData.price;
                        discountSilla = (discountSilla < chairAllData.price) ? chairAllData.price : discountSilla;
                        puntosCliente = puntosCliente + 10;
                    }
                    else
                    {
                        isNotValidsChairs.Add(chairAllData);
                        isValid = false;
                    }
                }
                if (isValid)
                {
                    this.addPoints(puntosCliente, idClient);
                    freeTicketsWithPoints = this.getFreeTickets(idClient);
                    if (freeTicketsWithPoints > 0)
                    {
                        valorSillas = valorSillas - (freeTicketsWithPoints * discountSilla);
                    }
                    this.compraBoletas(allValidchair, idClient);
                }
                ViewBag.client = (from Clientes in db.Client
                                  where Clientes.Id == idClient
                                  select new ClientEntity
                {
                    id = (int)Clientes.Id,
                    nombre = Clientes.Name,
                    identificacion = Clientes.Identification,
                    totalPoints = Clientes.TotalPoints
                }).FirstOrDefault();
                ViewBag.totalPrice            = valorSillas;
                ViewBag.idClient              = idClient;
                ViewBag.isValidsChairs        = isValidsChairs;
                ViewBag.isNotValidsChairs     = isNotValidsChairs;
                ViewBag.arrayChairSelected    = arrayChairSelected;
                ViewBag.idMovieByRoom         = idMovieByRoom;
                ViewBag.ReturnDate            = System.DateTime.Now;
                ViewBag.allData               = this.getAllData(idMovieByRoom);
                ViewBag.isValid               = isValid;
                ViewBag.puntosCliente         = puntosCliente;
                ViewBag.freeTicketsWithPoints = freeTicketsWithPoints;
                return(View("buyWindowTickets"));
            }
        }
 public ChairPlayerController(ChairEntity chair)
 {
     _chair = chair;
 }