public static SlotShow getAllSlotShowById(int idRapx, int idRoomx, int idFilmx, int idSlotx)
        {
            string sql = "SELECT idRap,idPhong,idFilms,showDate,booked,statusClose,idSlots FROM dbo.SlotShow " +
                         "WHERE idFilms = @idFilm AND idRap = @idRap AND idPhong = @idRoom AND idSlots = @idSlots";

            SqlParameter[] param = new SqlParameter[] {
                new SqlParameter("@idFilm", SqlDbType.Int),
                new SqlParameter("@idRap", SqlDbType.Int),
                new SqlParameter("@idRoom", SqlDbType.Int),
                new SqlParameter("@idSlots", SqlDbType.Int)
            };
            param[0].Value = idFilmx;
            param[1].Value = idRapx;
            param[2].Value = idRoomx;
            param[3].Value = idSlotx;
            DataTable dt = DataAccess.ReadDataBySQLWithParameter(sql, param);
            SlotShow  ss = new SlotShow();

            foreach (DataRow dr in dt.Rows)
            {
                int idRap   = Convert.ToInt32(dr["idRap"].ToString());
                int idPhong = Convert.ToInt32(dr["idPhong"].ToString());
                ss.Theart_Roomx = Theart_RoomDAO.getAllRapPhongByID(idRap, idPhong);
                ss.Filmsx       = FilmsDAO.getDetailFilm(Convert.ToInt32(dr["idFilms"].ToString()));
                ss.ShowDate     = Convert.ToDateTime(dr["showDate"].ToString());
                ss.Booked       = dr["booked"].ToString();
                ss.StatusClose  = Convert.ToBoolean(dr["statusClose"].ToString());
                int idSlots = Convert.ToInt32(dr["idSlots"].ToString());
                ss.Slotsx = SlotsDAO.getSlotsByID(idSlots);
            }
            return(ss);
        }
        public static List <SlotShow> getAllSlotShowByIdFilms(int idFilm)
        {
            string          sql  = "SELECT idRap,idPhong,idFilms,showDate,booked,statusClose,idSlots FROM dbo.SlotShow WHERE idFilms = @id";
            List <SlotShow> list = new List <SlotShow>();

            SqlParameter[] param = new SqlParameter[] {
                new SqlParameter("@id", SqlDbType.Int)
            };
            param[0].Value = idFilm;
            DataTable dt = DataAccess.ReadDataBySQLWithParameter(sql, param);

            foreach (DataRow dr in dt.Rows)
            {
                SlotShow ss      = new SlotShow();
                int      idRap   = Convert.ToInt32(dr["idRap"].ToString());
                int      idPhong = Convert.ToInt32(dr["idPhong"].ToString());
                ss.Theart_Roomx = Theart_RoomDAO.getAllRapPhongByID(idRap, idPhong);
                ss.Filmsx       = FilmsDAO.getDetailFilm(Convert.ToInt32(dr["idFilms"].ToString()));
                ss.ShowDate     = Convert.ToDateTime(dr["showDate"].ToString());
                ss.Booked       = dr["booked"].ToString();
                ss.StatusClose  = Convert.ToBoolean(dr["statusClose"].ToString());
                int idSlots = Convert.ToInt32(dr["idSlots"].ToString());
                ss.Slotsx = SlotsDAO.getSlotsByID(idSlots);
                list.Add(ss);
            }
            return(list);
        }
        public static bool updateSlotsShow(SlotShow ssshow)
        {
            string sql = "UPDATE [dbo].[SlotShow]   SET      [booked] = @book  " +
                         "WHERE idRap = @idRap AND idPhong = @idRoom AND idFilms = @idFilm AND idSlots = @slot AND showDate = @showDate ";

            SqlParameter[] param = new SqlParameter[] {
                new SqlParameter("@book", SqlDbType.NVarChar),
                new SqlParameter("@idRap", SqlDbType.Int),
                new SqlParameter("@idRoom", SqlDbType.Int),
                new SqlParameter("@idFilm", SqlDbType.Int),
                new SqlParameter("@slot", SqlDbType.Int),
                new SqlParameter("@showDate", SqlDbType.DateTime)
            };
            param[0].Value = ssshow.Booked;
            param[1].Value = ssshow.Theart_Roomx.Theartx.ID;
            param[2].Value = ssshow.Theart_Roomx.Roomx.ID;
            param[3].Value = ssshow.Filmsx.ID;
            param[4].Value = ssshow.Slotsx.ID;
            param[5].Value = ssshow.ShowDate;
            return(DataAccess.CUDDataBySQL(sql, param));
        }
        public static List <SlotShow> getAllSlotShow()
        {
            string          sql  = "SELECT idRap,idPhong,idFilms,showDate,booked,statusClose,idSlots FROM dbo.SlotShow";
            List <SlotShow> list = new List <SlotShow>();
            DataTable       dt   = DataAccess.ReadDataBySQL(sql);

            foreach (DataRow dr in dt.Rows)
            {
                SlotShow ss      = new SlotShow();
                int      idRap   = Convert.ToInt32(dr["idRap"].ToString());
                int      idPhong = Convert.ToInt32(dr["idPhong"].ToString());
                ss.Theart_Roomx = Theart_RoomDAO.getAllRapPhongByID(idRap, idPhong);
                ss.Filmsx       = FilmsDAO.getDetailFilm(Convert.ToInt32(dr["idFilms"].ToString()));
                ss.ShowDate     = Convert.ToDateTime(dr["showDate"].ToString());
                ss.Booked       = dr["booked"].ToString();
                ss.StatusClose  = Convert.ToBoolean(dr["statusClose"].ToString());
                int idSlots = Convert.ToInt32(dr["idSlots"].ToString());
                ss.Slotsx = SlotsDAO.getSlotsByID(idSlots);
                list.Add(ss);
            }
            return(list);
        }
        public void loadData(int idRap, int idRoom, int idFilms, int idSlot)
        {
            ss = SlotsShowDAO.getAllSlotShowById(idRap, idRoom, idFilms, idSlot);
            string[]  note         = ss.Theart_Roomx.Note.Split('|');
            DataTable viewGhe      = new DataTable();
            int       numbermaxRow = 0;

            foreach (SeatType st in ss.Theart_Roomx.SeatTypes)
            {
                numbermaxRow += st.NumberSeat;
            }
            numbermaxRow = numbermaxRow / ss.Theart_Roomx.NumberMaxSeat;
            for (int col = 0; col <= ss.Theart_Roomx.NumberMaxSeat - 1; col++)
            {
                DataColumn colx = new DataColumn(col + "");
                viewGhe.Columns.Add(colx);
                DataColumn colCss = new DataColumn("css" + col);
                viewGhe.Columns.Add(colCss);
            }
            int count        = 0;
            int nextSeatType = 0;

            if (note.Length != 0)
            {
                nextSeatType = 1;
            }
            for (int row = 0; row < numbermaxRow; row++)
            {
                DataRow dtRow = viewGhe.NewRow();
                viewGhe.Rows.Add(dtRow);
                for (int col = 0; col < viewGhe.Columns.Count - 1; col++)
                {
                    int  colIndex = col / 2;
                    bool check    = true;
                    for (int i = 1; i < note.Length - 1; i++)
                    {
                        int rowXXX = Convert.ToInt32(note[i].Split('-')[0]);
                        int colXXX = Convert.ToInt32(note[i].Split('-')[1]);
                        if (rowXXX == row + 1 && colXXX == colIndex + 1)
                        {
                            viewGhe.Rows[row][col]     = "X";
                            viewGhe.Rows[row][col + 1] = ss.Theart_Roomx.SeatTypes[0].ID;
                            col  += 1;
                            check = false;
                        }
                    }
                    if (check)
                    {
                        if (nextSeatType < ss.Theart_Roomx.SeatTypes.Count)
                        {
                            if (count < ss.Theart_Roomx.SeatTypes[nextSeatType].NumberSeat)
                            {
                                if (ss.Booked.Substring(row * 14 + colIndex, 1).Equals("1"))
                                {
                                    viewGhe.Rows[row][col]     = abc[row] + (colIndex + 1);
                                    viewGhe.Rows[row][col + 1] = 2;
                                    col += 1;
                                }
                                else if (ss.Booked.Substring(row * 14 + colIndex, 1).Equals("2"))
                                {
                                    viewGhe.Rows[row][col]     = abc[row] + (colIndex + 1);
                                    viewGhe.Rows[row][col + 1] = 12;
                                    col += 1;
                                }
                                else
                                {
                                    viewGhe.Rows[row][col]     = abc[row] + (colIndex + 1);
                                    viewGhe.Rows[row][col + 1] = ss.Theart_Roomx.SeatTypes[nextSeatType].ID;
                                    col += 1;
                                }
                                count++;
                            }
                            else
                            {
                                nextSeatType++;
                                count = 0;
                                col  -= 1;
                            }
                        }
                    }
                }
            }
            this.rptView.DataSource = viewGhe;
            this.rptView.DataBind();
            //this.Label1.Text = (float)Session["Money"] + "";
        }