}//---------------------------------

        //##################################END BUTTON btnSearchStudent EVENTS##########################################################

        //##################################BUTTON btnSearchScholarship EVENTS##########################################################
        //event is raised when the control is clicked
        private void btnSearchScholarshipClick(object sender, EventArgs e)
        {
            try
            {
                this.Cursor = Cursors.WaitCursor;

                using (StudentScholarshipSearchOnTextBoxList frmSearch = new StudentScholarshipSearchOnTextBoxList(_userInfo, _scholarshipManager))
                {
                    frmSearch.AdoptGridSize = true;
                    frmSearch.ShowDialog(this);

                    if (frmSearch.HasSelected)
                    {
                        _scholarshipInfo = _scholarshipManager.GetDetailsScholarshipInformation(frmSearch.PrimaryId);

                        _studentScholarshipInfo.ScholarshipInfo = _scholarshipInfo;

                        this.lblCourseGroupDescription.Text = _scholarshipManager.GetCourseGroupDescription(_scholarshipInfo.CourseGroupInfo.CourseGroupId);
                        this.lblDepartmentDescription.Text  = _scholarshipManager.GetDepartmentDescription(_scholarshipInfo.DepartmentInfo.DepartmentId);
                        this.lblScholarshipDescription.Text = _scholarshipInfo.ScholarshipDescription;
                        this.chkNonAcademic.Checked         = _scholarshipInfo.IsNonAcademic;
                    }
                }

                this.Cursor = Cursors.Arrow;
            }
            catch (Exception ex)
            {
                RemoteClient.ProcStatic.ShowErrorDialog(ex.Message, "Error Loading");
            }
        }//-------------------------------
        }//-------------------

        //this procedure will update scholarship information
        public void UpdateScholarshipInformation(CommonExchange.SysAccess userInfo, CommonExchange.ScholarshipInformation scholarshipInfo)
        {
            using (RemoteClient.RemCntScholarshipManager remClient = new RemoteClient.RemCntScholarshipManager())
            {
                remClient.UpdateScholarshipInformation(userInfo, scholarshipInfo);
            }

            Int32 index = 0;

            foreach (DataRow scholarRow in _classDataSet.Tables["ScholarshipInformationTable"].Rows)
            {
                if (String.Equals(scholarshipInfo.ScholarshipSysId, RemoteServerLib.ProcStatic.DataRowConvert(scholarRow, "sysid_scholarship", "")))
                {
                    DataRow editRow = _classDataSet.Tables["ScholarshipInformationTable"].Rows[index];

                    editRow.BeginEdit();

                    editRow["sysid_scholarship"]       = scholarshipInfo.ScholarshipSysId;
                    editRow["course_group_id"]         = scholarshipInfo.CourseGroupInfo.CourseGroupId;
                    editRow["department_id"]           = scholarshipInfo.DepartmentInfo.DepartmentId;
                    editRow["department_name"]         = scholarshipInfo.DepartmentInfo.DepartmentName;
                    editRow["department_acronym"]      = scholarshipInfo.DepartmentInfo.Acronym;
                    editRow["is_non_academic"]         = scholarshipInfo.IsNonAcademic;
                    editRow["scholarship_description"] = scholarshipInfo.ScholarshipDescription;

                    editRow.EndEdit();
                }

                index++;
            }
        }//----------------------
        //###############################################CLASS Scholarship EVENTS##################################################
        //event is raised when the class is loaded
        protected virtual void ClassLoad(object sender, EventArgs e)
        {
            _scholarshipInfo = new CommonExchange.ScholarshipInformation();

            _scholarshipManager.InitializeCourseGroupCombo(this.cboCourseGroup);
            _scholarshipManager.InitializeDepartmentCombo(this.cboDepartment);
        }//---------------------
        //#####################################CLASS ScholarshipUpdate EVENTS########################################
        //event is raised when the class is loaded
        protected override void ClassLoad(object sender, EventArgs e)
        {
            _scholarshipManager.InitializeCourseGroupCombo(this.cboCourseGroup, _scholarshipInfo.CourseGroupInfo.CourseGroupId);
            _scholarshipManager.InitializeDepartmentCombo(this.cboDepartment, _scholarshipInfo.DepartmentInfo.DepartmentId);

            this.lblSystemId.Text       = _scholarshipInfo.ScholarshipSysId;
            this.txtScholarship.Text    = _scholarshipInfo.ScholarshipDescription;
            this.chkNonAcademic.Checked = _scholarshipInfo.IsNonAcademic;

            _scholarshipInfoTemp = (CommonExchange.ScholarshipInformation)_scholarshipInfo.Clone();
        }//----------------------
        }//------------------------

        //this fucntion determines if scholarship description already exist
        public Boolean IsExistsScholarshipDescriptionScholarshipInformation(CommonExchange.SysAccess userInfo,
                                                                            CommonExchange.ScholarshipInformation scholarshipInfo)
        {
            Boolean value;

            using (RemoteClient.RemCntScholarshipManager remClient = new RemoteClient.RemCntScholarshipManager())
            {
                value = remClient.IsExistsScholarshipDescriptionScholarshipInformation(userInfo, scholarshipInfo);
            }

            return(value);
        }//---------------------------
        public ScholarshipUpdate(CommonExchange.SysAccess userInfo, CommonExchange.ScholarshipInformation scholarshipInfo,
                                 ScholarshipLogic scholarshipManager)
            : base(userInfo, scholarshipManager)
        {
            this.InitializeComponent();

            _userInfo           = userInfo;
            _scholarshipManager = scholarshipManager;
            _scholarshipInfo    = scholarshipInfo;

            this.FormClosing    += new System.Windows.Forms.FormClosingEventHandler(ClassClosed);
            this.btnClose.Click += new EventHandler(btnCloseClick);
            this.btnEdit.Click  += new EventHandler(btnEditClick);
        }
        //this procedure will insert scholarship information
        public void InsertScholarshipInformation(CommonExchange.SysAccess userInfo, CommonExchange.ScholarshipInformation scholarshipInfo)
        {
            using (RemoteClient.RemCntScholarshipManager remClient = new RemoteClient.RemCntScholarshipManager())
            {
                remClient.InsertScholarshipInformation(userInfo, ref scholarshipInfo);
            }

            DataRow newRow = _classDataSet.Tables["ScholarshipInformationTable"].NewRow();

            newRow["sysid_scholarship"]       = scholarshipInfo.ScholarshipSysId;
            newRow["course_group_id"]         = scholarshipInfo.CourseGroupInfo.CourseGroupId;
            newRow["group_description"]       = scholarshipInfo.CourseGroupInfo.GroupDescription;
            newRow["department_id"]           = scholarshipInfo.DepartmentInfo.DepartmentId;
            newRow["department_name"]         = this.GetDepartmentDescription(scholarshipInfo.DepartmentInfo.DepartmentId);
            newRow["department_acronym"]      = this.GetDepartmentAcronym(scholarshipInfo.DepartmentInfo.DepartmentId);
            newRow["is_non_academic"]         = scholarshipInfo.IsNonAcademic;
            newRow["scholarship_description"] = scholarshipInfo.ScholarshipDescription;

            _classDataSet.Tables["ScholarshipInformationTable"].Rows.Add(newRow);
        }//-------------------
        }//-------------------------

        //this fucntion get scholarship details
        public CommonExchange.ScholarshipInformation GetDetailsScholarshipInformation(String sysidScolarship)
        {
            CommonExchange.ScholarshipInformation scholarshipInfo = new CommonExchange.ScholarshipInformation();

            String strFilter = "sysid_scholarship = '" + sysidScolarship + "'";

            DataRow[] selectRow = _classDataSet.Tables["ScholarshipInformationTable"].Select(strFilter);

            foreach (DataRow scholarRow in selectRow)
            {
                scholarshipInfo.CourseGroupInfo.CourseGroupId = RemoteServerLib.ProcStatic.DataRowConvert(scholarRow, "course_group_id", "");
                scholarshipInfo.DepartmentInfo.DepartmentId   = RemoteServerLib.ProcStatic.DataRowConvert(scholarRow, "department_id", "");
                scholarshipInfo.IsNonAcademic          = RemoteServerLib.ProcStatic.DataRowConvert(scholarRow, "is_non_academic", false);
                scholarshipInfo.ScholarshipDescription = RemoteServerLib.ProcStatic.DataRowConvert(scholarRow, "scholarship_description", "");
                scholarshipInfo.ScholarshipSysId       = RemoteServerLib.ProcStatic.DataRowConvert(scholarRow, "sysid_scholarship", "");

                break;
            }

            return(scholarshipInfo);
        }//------------------------
 //####################################CLASS StudentScholarship EVENTS####################################
 //event is raised when the class is loaded
 protected virtual void ClassLoad(object sender, EventArgs e)
 {
     _studentScholarshipInfo = new CommonExchange.StudentScholarship();
     _scholarshipInfo        = new CommonExchange.ScholarshipInformation();
 }//--------------------