private string getHomeFleet(int?id)
        {
            HOMEFLEET hf = new HOMEFLEET();

            hf = db.HOMEFLEETs.Where(d => d.HFID == id).FirstOrDefault();
            return(hf.HFNAME);
        }
        private void btnAdd_Click(object sender, EventArgs e)
        {
            if ((tbRoomNumber.Text == "") || (tbHFName.Text == ""))
            {
                MessageBox.Show("Vui lòng nhập đầy đủ thông tin", MessageDefine.CAPTION, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            try
            {
                HOMEFLEET hf = new HOMEFLEET();
                hf.HFNAME       = tbHFName.Text;
                hf.NUMBEROFROOM = int.Parse(tbRoomNumber.Text);
                hf.STATUSS      = 1;

                db.HOMEFLEETs.Add(hf);
                db.SaveChanges();

                MessageBox.Show("Đã thêm thông tin tòa nhà mới", MessageDefine.CAPTION, MessageBoxButtons.OK, MessageBoxIcon.Information);
                int index = dgAllHF.Rows.Add();
                dgAllHF.Rows[index].Cells[0].Value = hf.HFID;
                dgAllHF.Rows[index].Cells[1].Value = hf.HFNAME;
                dgAllHF.Rows[index].Cells[2].Value = hf.NUMBEROFROOM;

                tbHFName.Text = "";
                txtHFID.Text  = "";
            }
            catch (Exception ex)
            {
                lbInformation.Text = "ERROR: " + ex.Message;
            }
        }
        private void btnDelete_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtHFID.Text == "")
                {
                    MessageBox.Show("Bạn chưa chọn tòa nhà nào", MessageDefine.CAPTION, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                var result = MessageBox.Show("Bạn có chắc chắn muốn xóa thông tin tòa nhà này không?", MessageDefine.CAPTION, MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                if (result == DialogResult.Yes)
                {
                    HOMEFLEET hf = new HOMEFLEET();

                    int id = int.Parse(txtHFID.Text);
                    hf = db.HOMEFLEETs.Where(d => d.HFID == id).FirstOrDefault();

                    db.HOMEFLEETs.Remove(hf);
                    db.SaveChanges();

                    MessageBox.Show("Đã xóa thành công", MessageDefine.CAPTION, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    dgAllHF.Rows.Remove(dgAllHF.CurrentRow);

                    tbHFName.Text     = "";
                    tbRoomNumber.Text = "";
                    txtHFID.Text      = "";
                }
            }
            catch (Exception ex)
            {
                lbInformation.Text = "ERROR: " + ex.Message;
            }
        }
        private void loadCbbData()
        {
            try
            {
                List <STUDENT> lstStudent = db.STUDENTs.Where(st => st.STATUSS == 1).ToList();
                STUDENT        s          = lstStudent.ElementAt(0);

                List <HOMEFLEET> lstHomeFleet = db.HOMEFLEETs.Select(d => d).ToList();
                HOMEFLEET        hf           = lstHomeFleet.ElementAt(0);

                List <ROOM> lstRoom = db.ROOMs.Where(r => r.STATUSS == 1 &&
                                                     r.FORGENDER == s.GENDER &&
                                                     r.HOMEFLEET == hf.HFID).ToList();


                cbbRoom.DataSource    = lstRoom;
                cbbRoom.DisplayMember = "ROOMNAME";

                cbbHomeFleet.DataSource    = lstHomeFleet;
                cbbHomeFleet.DisplayMember = "HFNAME";

                cbbStudent.DataSource    = lstStudent;
                cbbStudent.DisplayMember = "STUDENTNAME";
            }
            catch (Exception ex)
            {
                lbInformation.Text = "Đã xảy ra lỗi khi tải dữ liệu từ Database";
            }
        }
        private void loadInitData()
        {
            List <HOMEFLEET> lst = new List <HOMEFLEET>();

            lst = db.HOMEFLEETs.Select(d => d).ToList();

            cbbHF.DataSource    = lst;
            cbbHF.DisplayMember = "HFNAME";

            string[] gender = { "Nam", "Nữ" };
            cbbGender.DataSource = gender;

            tbRoomName.Text = room.ROOMNAME;
            tbIncluded.Text = room.INCLUDED;
            tbBed.Text      = room.BEDNUMBER.ToString();
            tbBedEmpty.Text = room.BEDEMPTY.ToString();

            HOMEFLEET hf = db.HOMEFLEETs.Where(d => d.HFID == room.HOMEFLEET).FirstOrDefault();

            cbbHF.SelectedItem = hf;

            if (room.FORGENDER == 1)
            {
                cbbGender.SelectedItem = "Nam";
            }
            else
            {
                cbbGender.SelectedItem = "Nữ";
            }
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                ROOM rm = db.ROOMs.Where(d => d.ROOMID == room.ROOMID).FirstOrDefault();
                rm.ROOMNAME  = tbRoomName.Text;
                rm.BEDNUMBER = int.Parse(tbBed.Text);
                rm.BEDEMPTY  = int.Parse(tbBedEmpty.Text);
                if (cbbGender.SelectedItem.ToString().Equals("Nam"))
                {
                    rm.FORGENDER = 1;
                }
                else
                {
                    rm.FORGENDER = 2;
                }
                HOMEFLEET hf = (HOMEFLEET)cbbHF.SelectedItem;
                rm.HOMEFLEET = hf.HFID;
                rm.INCLUDED  = tbIncluded.Text;

                db.Entry(rm).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();

                MessageBox.Show("Chỉnh sửa thông tin phòng thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
                FmRoomManage roomManage = new FmRoomManage();
                roomManage.Show();
            }
            catch (Exception ex)
            {
                lbInformation.Text = ex.Message;
            }
        }
        private void btnEdit_Click(object sender, EventArgs e)
        {
            if (txtHFID.Text == "")
            {
                MessageBox.Show("Bạn chưa chọn tòa nhà nào", MessageDefine.CAPTION, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if ((tbRoomNumber.Text == "") || (tbHFName.Text == ""))
            {
                MessageBox.Show("Vui lòng nhập đầy đủ thông tin", MessageDefine.CAPTION, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            try
            {
                var result = MessageBox.Show("Bạn có chắc chắn muốn lưu thông tin mới không?", MessageDefine.CAPTION, MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                if (result == DialogResult.Yes)
                {
                    int       id  = int.Parse(txtHFID.Text);
                    HOMEFLEET hfe = db.HOMEFLEETs.Where(d => d.HFID == id).FirstOrDefault();
                    hfe.HFNAME       = tbHFName.Text;
                    hfe.NUMBEROFROOM = int.Parse(tbRoomNumber.Text);

                    db.Entry(hfe).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();

                    MessageBox.Show("Đã chỉnh thông tin tòa nhà mới thành công", MessageDefine.CAPTION, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    dgAllHF.Rows.Remove(dgAllHF.CurrentRow);

                    int index = dgAllHF.Rows.Add();
                    dgAllHF.Rows[index].Cells[0].Value = hfe.HFID;
                    dgAllHF.Rows[index].Cells[1].Value = hfe.HFNAME;
                    dgAllHF.Rows[index].Cells[2].Value = hfe.NUMBEROFROOM;

                    tbHFName.Text     = "";
                    tbRoomNumber.Text = "";
                    txtHFID.Text      = "0";
                }
            }
            catch (Exception ex)
            {
                lbInformation.Text = "ERROR: " + ex.Message;
            }
        }
        private void cbbHomeFleet_SelectionChangeCommitted(object sender, EventArgs e)
        {
            try
            {
                cbbRoom.DataSource = null;
                STUDENT     s       = (STUDENT)cbbStudent.SelectedItem;
                HOMEFLEET   hf      = (HOMEFLEET)cbbHomeFleet.SelectedItem;
                List <ROOM> lstRoom = db.ROOMs.Where(r => r.STATUSS == 1 &&
                                                     r.FORGENDER == s.GENDER &&
                                                     r.HOMEFLEET == hf.HFID).ToList();

                cbbRoom.DataSource    = lstRoom;
                cbbRoom.DisplayMember = "ROOMNAME";
            }
            catch (Exception ex)
            {
                lbInformation.Text = "Đã có lỗi xảy ra";
            }
        }