private void btnAdd_Click(object sender, EventArgs e)
        {
            ep.Clear();

            if (txtStudentName.Text.Trim().Length == 0)
            {
                ep.SetError(txtStudentName, "Öğrenci adı boş bırakılamaz!");
                txtStudentName.Focus();
                return;
            }
            if (txtTCNO.Text.Trim().Length == 0)
            {
                ep.SetError(txtTCNO, "TC NO boş bırakılamaz!");
                txtTCNO.Focus();
                return;
            }
            if (txtEnrollNo.Text.Trim().Length == 0)
            {
                ep.SetError(txtEnrollNo, "Enroll No boş bırakılamaz!");
                txtEnrollNo.Focus();
                return;
            }
            if (txtAddress.Text.Trim().Length == 0)
            {
                ep.SetError(txtAddress, "Adres boş bırakılamaz!");
                txtAddress.Focus();
                return;
            }
            if (txtContactNo.Text.Trim().Length == 0)
            {
                ep.SetError(txtContactNo, "Telefon No boş bırakılamaz!");
                txtContactNo.Focus();
                return;
            }

            if (txtTCNO.Text.Trim().Length != 11)
            {
                MessageBox.Show("TC No 11 hanali olmalıdır.", "Library Management System", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (txtContactNo.Text.Trim().Length < 9 || txtContactNo.Text.Trim().Length > 14)
            {
                MessageBox.Show("Lütfen geçerli bir telefon numarası giriniz!", "Library Management System", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (!StudentsHelper.HaveTCNO(txtTCNO.Text) && !StudentsHelper.HaveEnrollNo(txtEnrollNo.Text) && !StudentsHelper.HaveContactNo(txtEnrollNo.Text))
            {
                Students s = new Students();
                s.SessionID    = SessionsHelper.GetByName(cmbSession.SelectedItem.ToString());
                s.DepartmentID = DepartmentsHelper.GetByName(cmbDepartment.SelectedItem.ToString());
                s.ProgramID    = ProgramsHelper.GetByName(cmbProgram.SelectedItem.ToString());
                s.StaffID      = _staffID;
                s.Name         = txtStudentName.Text;
                s.TCNO         = txtTCNO.Text;
                s.Status       = 1;
                s.Gender       = cmbGender.SelectedIndex;
                s.EnrollNo     = txtEnrollNo.Text;
                s.Address      = txtAddress.Text;
                s.ContactNo    = txtContactNo.Text;
                s.RegisterDate = DateTime.Now;
                StudentsHelper.Add(s);

                MessageBox.Show("Öğrenci Ekleme Başarılı", "Library Management System", MessageBoxButtons.OK, MessageBoxIcon.Information);

                cmbSession.SelectedIndex    = 0;
                cmbDepartment.SelectedIndex = 0;
                cmbProgram.SelectedIndex    = 0;
                txtStudentName.Text         = string.Empty;
                txtTCNO.Text            = string.Empty;
                cmbGender.SelectedIndex = 0;
                txtEnrollNo.Text        = string.Empty;
                txtAddress.Text         = string.Empty;
                txtContactNo.Text       = string.Empty;

                FillGrid();
            }
            else
            {
                MessageBox.Show("Girdiğiniz TC, Enroll veya Telefon numarası sistemde kayıtlıdır.", "Library Management System", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void BtnUpdate_Click(object sender, EventArgs e)
        {
            ep.Clear();

            if (txtStudentName.Text.Trim().Length == 0)
            {
                ep.SetError(txtStudentName, "Öğrenci adı boş bırakılamaz!");
                txtStudentName.Focus();
                return;
            }
            if (txtTCNO.Text.Trim().Length == 0)
            {
                ep.SetError(txtTCNO, "TC NO boş bırakılamaz!");
                txtTCNO.Focus();
                return;
            }
            if (txtEnrollNo.Text.Trim().Length == 0)
            {
                ep.SetError(txtEnrollNo, "Enroll No boş bırakılamaz!");
                txtEnrollNo.Focus();
                return;
            }
            if (txtAddress.Text.Trim().Length == 0)
            {
                ep.SetError(txtAddress, "Adres boş bırakılamaz!");
                txtAddress.Focus();
                return;
            }
            if (txtContactNo.Text.Trim().Length == 0)
            {
                ep.SetError(txtContactNo, "Telefon No boş bırakılamaz!");
                txtContactNo.Focus();
                return;
            }

            if (txtTCNO.Text.Trim().Length != 11)
            {
                MessageBox.Show("TC No 11 hanali olmalıdır.", "Library Management System", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (txtContactNo.Text.Trim().Length < 9 || txtContactNo.Text.Trim().Length > 14)
            {
                MessageBox.Show("Lütfen geçerli bir telefon numarası giriniz!", "Library Management System", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            int selectIndex = dgvStudentList.CurrentRow.Index;
            var studentID   = dgvStudentList.Rows[selectIndex].Cells[0].Value;

            if (!StudentsHelper.HaveContactNo(txtContactNo.Text, Convert.ToInt32(studentID)) &&
                !StudentsHelper.HaveEnrollNo(txtEnrollNo.Text, Convert.ToInt32(studentID)) &&
                !StudentsHelper.HaveTCNO(txtTCNO.Text, Convert.ToInt32(studentID)))
            {
                var s = StudentsHelper.GetById(Convert.ToInt32(studentID));
                s.SessionID    = SessionsHelper.GetByName(cmbSession.SelectedItem.ToString());
                s.DepartmentID = DepartmentsHelper.GetByName(cmbDepartment.SelectedItem.ToString());
                s.ProgramID    = ProgramsHelper.GetByName(cmbProgram.SelectedItem.ToString());
                s.Name         = txtStudentName.Text;
                s.Gender       = cmbGender.SelectedIndex;
                s.Address      = txtAddress.Text;
                s.EnrollNo     = txtEnrollNo.Text;
                s.TCNO         = txtTCNO.Text;
                s.ContactNo    = txtContactNo.Text;
                StudentsHelper.Update(s);


                MessageBox.Show("Öğrenci Güncelleme Başarılı", "Library Management System", MessageBoxButtons.OK, MessageBoxIcon.Information);

                cmbSession.SelectedIndex    = 0;
                cmbDepartment.SelectedIndex = 0;
                cmbProgram.SelectedIndex    = 0;
                txtStudentName.Text         = string.Empty;
                txtTCNO.Text            = string.Empty;
                cmbGender.SelectedIndex = 0;
                txtEnrollNo.Text        = string.Empty;
                txtAddress.Text         = string.Empty;
                txtContactNo.Text       = string.Empty;

                ClearForm();
                FillGrid();
                DisableComponent();
            }
            else
            {
                MessageBox.Show("Girdiğiniz TC, Enroll veya Telefon numarası sistemde kayıtlıdır!", "Library Management System", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }