protected void btn_Evaluation_Click(object sender, EventArgs e)
    {
        try
        {
            Result oResult = new Result();
            EvaluateProcessBO oEvaluateProcessBO = new EvaluateProcessBO();

            PopulateWithCurrentGridViewState(oListCandidateAnswerQuestion[Grid_Answers.PageIndex], Grid_Answers.PageIndex);

            Grid_Answers.DataSource = oListCandidateAnswerQuestion;
            Grid_Answers.DataBind();

            oResult = oEvaluateProcessBO.SaveDescriptiveAnswerMarksForCandidatesForASystemUserOfAnExam(sCandidateID,oListCandidateAnswerQuestion, oExam, oSystemUser);

            if (oResult.ResultIsSuccess)
            {
                lbl_error.ForeColor = Color.Green;
                lbl_error.Text = oResult.ResultMessage;
            }
            else
            {
                lbl_error.ForeColor = Color.Red;
                lbl_error.Text = oResult.ResultMessage;
            }
        }
        catch (Exception oEx)
        {
            lbl_error.ForeColor = Color.Red;
            lbl_error.Text = "SaveDescriptiveAnswerMarksForCandidatesForASystemUserOfAnExam Exception.";
        }
    }
    private void LoadQuestionsForACandidateWhichSetupByAParticularUser()
    {
        try
        {
            lbl_CandidateName.Text = sCandidateName;
            lbl_ExamName.Text = oExam.ExamName;
            lbl_ExamTotal.Text = oExam.ExamTotalMarks.ToString();
            lbl_ExamStartTime.Text = oExam.ExamDateWithStartingTime.ToString();
            ShowExamConstraint(oExam);

            EvaluateProcessBO oEvaluateProcessBO = new EvaluateProcessBO();
            Result oResult = new Result();

            oResult = oEvaluateProcessBO.LoadQuestionsForACandidateWhichSetupByAParticularUser(sCandidateID, oExam, oSystemUser,false);

            if (oResult.ResultIsSuccess)
            {
                oListCandidateAnswerQuestion = (List<CandidateAnswerQuestion>)oResult.ResultObject;

                //Utils.SetSession(SessionManager.csStoreGridView, oListCandidateAnswerQuestion);
                this.ViewState.Add(SessionManager.csStoreGridView, oListCandidateAnswerQuestion);

                if (oListCandidateAnswerQuestion.Count <= 0)
                {
                    lbl_error.ForeColor = Color.Red;
                    lbl_error.Text = "No Question Found.";
                }

                Grid_Answers.DataSource = oListCandidateAnswerQuestion;
                Grid_Answers.DataBind();
            }
            else
            {
                lbl_error.ForeColor = Color.Red;
                lbl_error.Text = oResult.ResultMessage;
            }
        }
        catch (Exception oEx)
        {

        }
    }
    private void LoadCandidatesAccordingToSystemUserForEvaluate()
    {
        try
        {
            EvaluateProcessBO oEvaluateProcess = new EvaluateProcessBO();
            Result oResult = new Result();

            if (oExam != null && oSystemUser != null)
            {
                oResult = oEvaluateProcess.LoadCandidatesAccordingToSystemUserForEvaluate(oSystemUser, oExam);

                if (oResult.ResultIsSuccess)
                {
                    oListCandidateForExamForGrid = (List<CandidateForExam>)oResult.ResultObject;

                    //Utils.SetSession(SessionManager.csStoreGridView,oListCandidateForGrid);
                    this.ViewState.Add(SessionManager.csStoreGridView, oListCandidateForExamForGrid);

                    if (oSystemUser.SystemUserName.ToLower().Equals("administrator"))
                    {
                        oResult = oEvaluateProcess.EvaluateObjectiveAnswersForAllCandidateOfAnExma(oListCandidateForExamForGrid, oSystemUser, oExam);

                        if (oResult.ResultIsSuccess)
                        {
                            lbl_error.ForeColor = Color.Green;
                            lbl_error.Text = oResult.ResultMessage;
                        }
                        else
                        {
                            lbl_error.ForeColor = Color.Red;
                            lbl_error.Text = oResult.ResultMessage;
                        }
                    }

                    if (oListCandidateForExamForGrid.Count <= 0)
                    {
                        lbl_error.ForeColor = Color.Red;
                        lbl_error.Text = "No Candidate Found For Evaluation.";
                        tbl_candidateLink.Visible = false;
                    }
                    else
                    {
                        tbl_candidateLink.Visible = true;
                        gridCandidates.DataSource = oListCandidateForExamForGrid;
                        gridCandidates.DataBind();
                    }
                }
                else
                {
                    lbl_error.ForeColor = Color.Red;
                    lbl_error.Text = oResult.ResultMessage;
                }
            }
            else
            {

            }
        }
        catch (Exception oEx)
        {
            lbl_error.ForeColor = Color.Red;
            lbl_error.Text = "LoadCandidatesAccordingToSystemUserForEvaluate Exception.";
        }
    }