Ejemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                lblName.Text = PrjPub.CurrentStudent.EmployeeName;
                OrganizationBLL objOrgBll = new OrganizationBLL();
                lblOrg.Text  = objOrgBll.GetOrganization(PrjPub.CurrentStudent.StationOrgID).ShortName;
                lblPost.Text = PrjPub.CurrentStudent.PostName;

                ExamResultBLL objBll = new ExamResultBLL();
                ViewState["NowOrgID"] = Convert.ToInt32(ConfigurationManager.AppSettings["StationID"]);
                IList <RailExam.Model.ExamResult> objList = objBll.GetExamResults(PrjPub.StudentID, 0);
                gvExam.DataSource = objList;
                gvExam.DataBind();

                hfOrgID.Value    = ConfigurationManager.AppSettings["StationID"].ToString();
                hfIsServer.Value = PrjPub.IsServerCenter.ToString();

                BindGrid();
            }
            else
            {
                if (Request.Form.Get("OutPut") != null && Request.Form.Get("OutPut") != "")
                {
                    OutputData(Request.Form.Get("OutPut"), Request.Form.Get("OutPutOrg"));
                }

                if (Request.Form.Get("OutPutRandom") != null && Request.Form.Get("OutPutRandom") != "")
                {
                    OutputRandomExam(Request.Form.Get("OutPutRandom"));
                }
            }
        }
Ejemplo n.º 2
0
        private void HasExamId()
        {
            string strExamId = Request.QueryString.Get("id");

            //已经参加考试的考生自动填充上


            ExamResultBLL reBll = new ExamResultBLL();
            IList <RailExam.Model.ExamResult> examResults = reBll.GetExamResultByExamID(int.Parse(strExamId));
            string strId = "";

            for (int i = 0; i < examResults.Count; i++)
            {
                string strEmId = examResults[i].ExamineeId.ToString();

                if (strId.Length == 0)
                {
                    strId += strEmId;
                }
                else
                {
                    strId += "," + strEmId;
                }
            }
            ViewState["HasExamId"] = strId;;
        }
Ejemplo n.º 3
0
        protected void btnLast_Click(object sender, EventArgs e)
        {
            string strId = Request.QueryString.Get("id");

            string strFlag = "";

            if (ViewState["mode"].ToString() == "Insert")
            {
                strFlag = "Edit";
            }
            else
            {
                strFlag = ViewState["mode"].ToString();
            }

            ExamResultBLL reBll = new ExamResultBLL();

            IList <RailExam.Model.ExamResult> examResults = reBll.GetExamResultByExamID(int.Parse(strId));

            if (examResults.Count > 0 && ViewState["mode"].ToString() != "ReadOnly")
            {
                Response.Redirect("ExamManageFirst.aspx?mode=" + strFlag + "&id=" + strId);
            }
            else
            {
                Response.Redirect("ExamManageSecond.aspx?mode=" + strFlag + "&id=" + strId);
            }
        }
Ejemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string strId     = Request.QueryString.Get("PaperId");
            string strExamId = Request.QueryString.Get("ExamId");

            ViewState["BeginTime"] = DateTime.Now.ToString();

            ViewState["OrgID"]     = PrjPub.CurrentStudent.OrgID;
            ViewState["StudentID"] = PrjPub.StudentID;

            if (strId != null && strId != "")
            {
                try
                {
                    ExamResultBLL             examResultBLL = new ExamResultBLL();
                    RailExam.Model.ExamResult examResults   = examResultBLL.GetExamResult(int.Parse(strId), int.Parse(strExamId), PrjPub.CurrentStudent.EmployeeID);
                    if (examResults != null)
                    {
                        Response.Write("<script>alert('您已经参加过该考试!'); top.window.close();</script>");
                        return;
                    }
                }
                catch
                {
                    Pub.ShowErrorPage("无法连接路局服务器,请检查站段服务器网络连接是否正常!");
                }
                ExamBLL             examBLL = new ExamBLL();
                RailExam.Model.Exam exam    = examBLL.GetExam(int.Parse(strExamId));
                HiddenFieldExamTime.Value = DateTime.Now.AddMinutes(exam.ExamTime).ToString();
                HfExamTime.Value          = (exam.ExamTime * 60).ToString();

                FillPage(strId);
            }
        }
Ejemplo n.º 5
0
        private void OutputRandomExam(string strName)
        {
            ExamResultBLL objBll = new ExamResultBLL();
            IList <RailExam.Model.ExamResult> objList = objBll.GetExamResults(PrjPub.StudentID, 0);

            gvExam.DataSource = objList;
            gvExam.DataBind();

            string filename = Server.MapPath("/RailExamBao/Excel/Word.doc");

            if (File.Exists(filename))
            {
                FileInfo file = new FileInfo(filename.ToString());
                this.Response.Clear();
                this.Response.Buffer          = true;
                this.Response.Charset         = "utf-7";
                this.Response.ContentEncoding = Encoding.UTF7;
                // 添加头信息,为"文件下载/另存为"对话框指定默认文件名
                this.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(strName) + ".doc");
                // 添加头信息,指定文件大小,让浏览器能够显示下载进度
                this.Response.AddHeader("Content-Length", file.Length.ToString());
                // 指定返回的是一个不能被客户端读取的流,必须被下载
                this.Response.ContentType = "application/ms-word";
                // 把文件流发送到客户端
                this.Response.WriteFile(file.FullName);
            }
        }
Ejemplo n.º 6
0
        protected void btnOutPutWord_Click(object sender, ImageClickEventArgs e)
        {
            string qsExamId = Request.QueryString.Get("eid");
            IList <RailExam.Model.ExamResult> examResults = null;
            ExamResultBLL bllExamResult = new ExamResultBLL();

            examResults = bllExamResult.GetExamResultByExamID(int.Parse(qsExamId));

            string str = "";

            //string fileName = "考试成绩";
            for (int i = 0; i < examResults.Count; i++)
            {
                //if (i == 0)
                //{
                //    fileName = examResults[i].ExamName + "成绩";
                //}

                str += GetExamOutString(examResults[i].ExamResultId.ToString(), examResults[i].OrganizationId.ToString());
            }

            Response.Clear();
            Response.Charset = "utf-7";
            Response.Buffer  = true;
            EnableViewState  = false;
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + "ExamResult" + ".doc");

            Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-7");
            Response.ContentType     = "application/ms-word";
            Response.Write(str);
            Response.End();
        }
Ejemplo n.º 7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                if (PrjPub.CurrentLoginUser == null)
                {
                    Response.Redirect("/RailExamBao/Common/Error.aspx?error=Session过期请重新登录本系统!");
                    return;
                }

                // QueryString id stands for EXAM_RESULT_ID
                string strId = Request.QueryString.Get("id");
                if (!string.IsNullOrEmpty(strId))
                {
                    FillHeading(strId);
                }
            }

            string strJudgeData = hfJudgeData.Value;

            if (!string.IsNullOrEmpty(strJudgeData))
            {
                string                   strExamResultId = Request.QueryString.Get("id");
                string[]                 strItmes        = strJudgeData.Split('$');
                string[]                 strJudges       = new string[3];
                ExamResultBLL            bll             = new ExamResultBLL();
                ExamResultAnswer         answer          = null;
                IList <ExamResultAnswer> answers         = new List <ExamResultAnswer>();
                decimal                  judgeScore      = 0M;
                foreach (string item in strItmes)
                {
                    strJudges            = item.Split('|');
                    answer               = new ExamResultAnswer();
                    answer.ExamResultId  = int.Parse(strExamResultId);
                    answer.PaperItemId   = int.Parse(strJudges[0]);
                    answer.JudgeStatusId = int.Parse(strJudges[1]);
                    answer.JudgeScore    = decimal.Parse(strJudges[2]);
                    answer.JudgeRemark   = strJudges[3];

                    answers.Add(answer);

                    judgeScore += answer.JudgeScore;
                }

                string   strCause  = Server.UrlDecode(HiddenFieldUpdateCause.Value);
                string[] strCauses = strCause.Split('|');

                string  strResultCause = strCauses[0];
                string  strRemark      = strCauses[1];
                decimal oldScore       = decimal.Parse(ViewState["Score"].ToString());

                int examResultId = int.Parse(strExamResultId);
                bll.UpdateExamResultAnswers(examResultId, answers, strResultCause, strRemark, oldScore, RailExamWebApp.Common.Class.PrjPub.CurrentLoginUser.EmployeeName);

                bll.UpdateJudgeId(examResultId, RailExamWebApp.Common.Class.PrjPub.CurrentLoginUser.EmployeeID);
                lblScore.Text  = judgeScore.ToString();
                lblScore.Text += "分";
            }
        }
Ejemplo n.º 8
0
        protected void FillHeading(string strId)
        {
            ExamResultBLL examResultBLL = new ExamResultBLL();
            PaperBLL      kBLL          = new PaperBLL();

            RailExam.Model.ExamResult examResult = examResultBLL.GetExamResultByOrgID(Convert.ToInt32(strId), Convert.ToInt32(ViewState["OrgID"].ToString()));
            RailExam.Model.Paper      paper      = null;
            EmployeeBLL ebLL = new EmployeeBLL();

            RailExam.Model.Employee Employee = ebLL.GetEmployee(examResult.ExamineeId);

            string strOrgName     = Employee.OrgName;
            string strStationName = "";
            string strOrgName1    = "";
            int    n = strOrgName.IndexOf("-");

            if (n != -1)
            {
                strStationName = strOrgName.Substring(0, n);
                strOrgName1    = strOrgName.Substring(n + 1);
            }
            else
            {
                strStationName = strOrgName;
                strOrgName1    = "";
            }

            lblOrg.Text      = strStationName;
            lblWorkShop.Text = strOrgName1;
            lblPost.Text     = Employee.PostName;
            lblName.Text     = Employee.EmployeeName;
            lblTime.Text     = examResult.BeginDateTime.ToString("yyyy-MM-dd HH:mm");
            lblScore.Text    = examResult.Score.ToString();

            if (examResult != null)
            {
                paper = kBLL.GetPaper(examResult.PaperId);
            }


            PaperItemBLL paperItemBLL = new PaperItemBLL();
            IList <RailExam.Model.PaperItem> paperItems = paperItemBLL.GetItemsByPaperId(paper.PaperId);
            int nItemCount = paperItems.Count;

            decimal nTotalScore = 0;

            for (int i = 0; i < paperItems.Count; i++)
            {
                nTotalScore += paperItems[i].Score;
            }


            if (paper != null)
            {
                lblTitle.Text      = paper.PaperName;
                lblTitleRight.Text = "总共 " + nItemCount + " 题,共 " + nTotalScore + " 分";
            }
        }
Ejemplo n.º 9
0
        protected void gradesGrid_DeleteCommand(Object s, ComponentArt.Web.UI.GridItemEventArgs e)
        {
            int           nExamResultId = (int)e.Item["ExamResultId"];
            ExamResultBLL bllExamResult = new ExamResultBLL();

            bllExamResult.DeleteExamResult(nExamResultId);

            gradesGrid.DataSource = GetDataSet();
            gradesGrid.DataBind();
        }
Ejemplo n.º 10
0
        protected void ImageButton3_Click(object sender, ImageClickEventArgs e)
        {
            this.labelTitle.Text = "考试成绩";
            Grid1.Visible        = false;
            Grid2.Visible        = false;
            Grid3.Visible        = false;
            Grid4.Visible        = true;

            string        struesrId = PrjPub.StudentID;
            ExamResultBLL bkLL      = new ExamResultBLL();
            IList <RailExam.Model.ExamResult> ExamList2 = bkLL.GetExamResults(struesrId, 8000);

            this.Grid4.DataSource = ExamList2;
            this.Grid4.DataBind();
        }
Ejemplo n.º 11
0
        protected void gradesGrid_UpdateCommand(Object s, ComponentArt.Web.UI.GridItemEventArgs e)
        {
            RailExam.Model.ExamResult examResult = new RailExam.Model.ExamResult();

            examResult.ExamResultId  = (int)e.Item["ExamResultId"];
            examResult.BeginDateTime = (DateTime)e.Item["BeginDateTime"];
            examResult.EndDateTime   = (DateTime)e.Item["EndDateTime"];
            examResult.Score         = (decimal)e.Item["Score"];
            examResult.StatusId      = int.Parse((string)e.Item["StatusName"]);

            ExamResultBLL bllExamResult = new ExamResultBLL();

            bllExamResult.UpdateExamResult(examResult);

            gradesGrid.DataSource = GetDataSet();
            gradesGrid.DataBind();
        }
Ejemplo n.º 12
0
        protected DataSet GetDataSet()
        {
            string  qsTypeId = Request.QueryString.Get("type");
            string  qsExamId = Request.QueryString.Get("eid");
            DataSet ds       = new DataSet();

            if (!string.IsNullOrEmpty(qsTypeId) && !string.IsNullOrEmpty(qsExamId))
            {
                int     nOrganizationId     = string.IsNullOrEmpty(hfOrganizationId.Value) ? PrjPub.DEFAULT_INT_IN_DB : int.Parse(hfOrganizationId.Value);
                string  strExamineeName     = string.IsNullOrEmpty(txtExamineeName.Text) ? string.Empty : txtExamineeName.Text;
                decimal dScoreLower         = string.IsNullOrEmpty(txtScoreLower.Text) ? 0 : decimal.Parse(txtScoreLower.Text);
                decimal dScoreUpper         = string.IsNullOrEmpty(txtScoreUpper.Text) ? 500 : decimal.Parse(txtScoreUpper.Text);
                int     nExamStatusId       = string.IsNullOrEmpty(ddlStatusId.SelectedValue) ? PrjPub.DEFAULT_INT_IN_DB : int.Parse(ddlStatusId.SelectedValue);
                string  strOrganizationName = string.IsNullOrEmpty(txtOrganizationName.Text) ? string.Empty : txtOrganizationName.Text;

                ExamResultBLL bllExamResult = new ExamResultBLL();
                IList <RailExam.Model.ExamResult> examResults = bllExamResult.GetExamResults(
                    int.Parse(qsExamId), strOrganizationName, strExamineeName, string.Empty, dScoreLower,
                    dScoreUpper, nExamStatusId);

                ExamResultStatusBLL bllExamResultStatus = new ExamResultStatusBLL();
                IList <RailExam.Model.ExamResultStatus> examResultStatuses = bllExamResultStatus.GetExamResultStatuses();

                DataTable dtExamResults = ConvertToDataTable((IList)examResults);


                DataTable dtExamResultStatuses = ConvertToDataTable((IList)examResultStatuses);

                if (dtExamResults != null)
                {
                    ds.Tables.Add(dtExamResults);
                }
                else
                {
                    ds.Tables.Add(ConvertToDataTable(typeof(RailExam.Model.ExamResult)));
                }
                ds.Tables.Add(dtExamResultStatuses);
                ds.Relations.Add(ds.Tables["ExamResultStatus"].Columns["ExamResultStatusId"],
                                 ds.Tables["ExamResult"].Columns["StatusId"]);
            }

            return(ds);
        }
Ejemplo n.º 13
0
        protected void FillHeading(string strId)
        {
            ExamResultBLL examResultBLL = new ExamResultBLL();
            PaperBLL      kBLL          = new PaperBLL();

            RailExam.Model.ExamResult examResult = examResultBLL.GetExamResult(int.Parse(strId));
            RailExam.Model.Paper      paper      = null;

            if (examResult != null)
            {
                paper = kBLL.GetPaper(examResult.PaperId);
                lblExamBeginDateTime.Text     = examResult.BeginDateTime.ToString();
                lblExamEndDateTime.Text       = examResult.EndDateTime.ToString();
                lblExamineeName.Text          = examResult.ExamineeName;
                HiddenFieldEmployeeName.Value = lblExamineeName.Text;

                lblJudgeBeginDateTime.Text = examResult.JudgeBeginDateTime.ToString();
                lblJudgeEndDateTime.Text   = examResult.JudgeEndDateTime.ToString();
                lblJudgerName.Text         = examResult.JudgeName;
                if (examResult.Score <= 0M)
                {
                    lblScore.Text      = examResult.AutoScore.ToString();
                    ViewState["Score"] = examResult.AutoScore;
                    lblScore.Text     += "分";
                }
                else
                {
                    lblScore.Text      = examResult.Score.ToString();
                    ViewState["Score"] = examResult.Score;
                    lblScore.Text     += "分";
                }

                HiddenFieldScore.Value = lblScore.Text;
                examResultBLL.UpdateJudgeBeginTime(int.Parse(strId), DateTime.Now);
            }
            if (paper != null)
            {
                this.lblTitle.Text      = paper.PaperName;
                this.lblTitleRight.Text = "总共 " + paper.ItemCount + " 题,共 " + paper.TotalScore + " 分";
            }
        }
Ejemplo n.º 14
0
        protected void btnsClickCallBack_Callback(object sender, ComponentArt.Web.UI.CallBackEventArgs e)
        {
            switch (e.Parameters[0])
            {
            case "delete":
            {
                string[] strExamResultIds = e.Parameters[1].Split('|');
                int[]    nExamResultIds   = new int[strExamResultIds.Length];

                int index = 0;
                foreach (string s in strExamResultIds)
                {
                    nExamResultIds[index] = int.Parse(s);
                    index++;
                }

                ExamResultBLL bllExamResult = new ExamResultBLL();
                bllExamResult.DeleteExamResults(nExamResultIds);

                break;
            }

            default:
            {
                break;
            }
            }

            DataSet ds = GetDataSet();

            if (ds != null && ds.Tables.Count == 2)
            {
                gradesGrid.DataSource = ds;
                gradesGrid.DataBind();
            }
            gradesGrid.RenderControl(e.Output);
        }
Ejemplo n.º 15
0
        private void BindChoosedGrid(string strId, string strOrderBy)
        {
            HasExamId();

            string strExamId = Request.QueryString.Get("id");
            //已经参加考试的考生自动填充上


            ExamResultBLL reBll = new ExamResultBLL();
            IList <RailExam.Model.ExamResult> examResults = reBll.GetExamResultByExamID(int.Parse(strExamId));

            for (int i = 0; i < examResults.Count; i++)
            {
                string strEmId     = examResults[i].ExamineeId.ToString();
                string strOldAllId = "," + strId + ",";
                if (strOldAllId.IndexOf("," + strEmId + ",") == -1)
                {
                    if (strId.Length == 0)
                    {
                        strId += strEmId;
                    }
                    else
                    {
                        strId += "," + strEmId;
                    }
                }
            }

            EmployeeBLL psBLL = new EmployeeBLL();
            DataSet     ds    = new DataSet();

            string strIDs = "," + strId + ",";

            if (strIDs.Length > 2000)
            {
                ds = psBLL.GetEmployeesByEmployeeIdS(strIDs);
                if (ds.Tables[0].Rows.Count > 0)
                {
                    //DataView dv = ds.Tables[0].DefaultView;
                    //dv.Sort = strOrderBy;
                    Grid2.DataSource = ds;
                    Grid2.DataBind();
                }
                else
                {
                    BindEmptyGrid2();
                }
            }
            else
            {
                IList <Employee> objList = psBLL.GetEmployeesByEmployeeId(strIDs);
                if (objList.Count > 0)
                {
                    ds.Tables.Add(ConvertToDataTable((IList)objList));
                    Grid2.DataSource = ds;
                    Grid2.DataBind();
                }
                else
                {
                    BindEmptyGrid2();
                }
            }
        }
Ejemplo n.º 16
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //if (PrjPub.IsServerCenter && PrjPub.CurrentLoginUser.SuitRange != 1)
                //{
                //    HfUpdateRight.Value = "False";
                //    HfDeleteRight.Value = "False";
                //}
                //else
                //{
                //    HfUpdateRight.Value = PrjPub.HasEditRight("考试设计").ToString();
                //    HfDeleteRight.Value = PrjPub.HasDeleteRight("考试设计").ToString();
                //}
                if (PrjPub.HasEditRight("考试设计") && PrjPub.IsServerCenter)
                {
                    HfUpdateRight.Value = "True";
                }
                else
                {
                    HfUpdateRight.Value = "False";
                }
                if (PrjPub.HasDeleteRight("考试涉及") && PrjPub.IsServerCenter)
                {
                    HfDeleteRight.Value = "True";
                }
                else
                {
                    HfDeleteRight.Value = "False";
                }

                if (PrjPub.CurrentLoginUser == null)
                {
                    Response.Redirect("/RailExamBao/Common/Error.aspx?error=Session过期请重新登录本系统!");
                    return;
                }

                hfOrgID.Value          = PrjPub.CurrentLoginUser.StationOrgID.ToString();
                HfExamCategoryId.Value = Request.QueryString.Get("id");
                Grid1.DataBind();
            }
            else
            {
                string strDeleteID = Request.Form.Get("DeleteID");
                if (!string.IsNullOrEmpty(strDeleteID))
                {
                    ExamResultBLL reBll = new ExamResultBLL();
                    IList <RailExam.Model.ExamResult> examResults = reBll.GetExamResultByExamID(int.Parse(strDeleteID));

                    if (examResults.Count > 0)
                    {
                        SessionSet.PageMessage = "已有考生参加考试,该考试不能被删除!";
                        Grid1.DataBind();
                        return;
                    }



                    DeleteData(int.Parse(strDeleteID));
                    Grid1.DataBind();
                }

                if (Request.Form.Get("Refresh") == "true")
                {
                    Grid1.DataBind();
                }

                if (Request.Form.Get("OutPut") != null && Request.Form.Get("OutPut") != "")
                {
                    OutputData(Request.Form.Get("OutPut"));
                }
            }
        }
Ejemplo n.º 17
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            ExamBLL examBLL = new ExamBLL();

            RailExam.Model.Exam exam = new RailExam.Model.Exam();

            string strID   = string.Empty;
            string strMode = ViewState["mode"].ToString();

            if (strMode == "Insert")
            {
                exam.CategoryId   = int.Parse(hfCategoryId.Value);
                exam.ExamName     = txtExamName.Text;
                exam.Memo         = txtMemo.Text;
                exam.CreatePerson = PrjPub.CurrentLoginUser.EmployeeName;
                if (rbExamMode1.Checked)
                {
                    exam.ExamModeId = 1;
                }
                else
                {
                    exam.ExamModeId = 2;
                }

                exam.IsAutoScore    = chAutoScore.Checked;
                exam.CanSeeAnswer   = chSeeAnswer.Checked;
                exam.CanSeeScore    = chSeeScore.Checked;
                exam.IsPublicScore  = chPublicScore.Checked;
                exam.IsUnderControl = chUD.Checked;
                exam.paperId        = 0;
                exam.MaxExamTimes   = 1;
                exam.MinExamTimes   = 0;
                exam.BeginTime      = DateTime.Parse(dateBeginTime.DateValue.ToString());
                exam.EndTime        = DateTime.Parse(dateEndTime.DateValue.ToString());
                exam.ExamTypeId     = 1;
                exam.CreateTime     = DateTime.Now;
                exam.Description    = txtDescription.Text;
                exam.ExamTime       = int.Parse(txtExamTime.Text);
                exam.StatusId       = 1;

                exam.AutoSaveInterval = 0;
                exam.OrgId            = PrjPub.CurrentLoginUser.StationOrgID;

                int id = examBLL.AddExam(exam);
                strID = id.ToString();

                Response.Redirect("ExamManageSecond.aspx?mode=" + strMode + "&id=" + strID);
            }
            else if (strMode == "Edit")
            {
                strID = Request.QueryString.Get("id");

                exam.ExamName = txtExamName.Text;
                exam.Memo     = txtMemo.Text;
                exam.ExamId   = int.Parse(strID);
                exam.ExamTime = int.Parse(txtExamTime.Text);
                if (rbExamMode1.Checked)
                {
                    exam.ExamModeId = 1;
                }
                else
                {
                    exam.ExamModeId = 2;
                }

                exam.BeginTime = DateTime.Parse(dateBeginTime.DateValue.ToString());
                exam.EndTime   = DateTime.Parse(dateEndTime.DateValue.ToString());

                exam.IsAutoScore    = chAutoScore.Checked;
                exam.CanSeeAnswer   = chSeeAnswer.Checked;
                exam.CanSeeScore    = chSeeScore.Checked;
                exam.IsPublicScore  = chPublicScore.Checked;
                exam.IsUnderControl = chUD.Checked;
                exam.MaxExamTimes   = 1;
                exam.MinExamTimes   = 0;

                exam.ExamTypeId       = 1;
                exam.Description      = txtDescription.Text;
                exam.AutoSaveInterval = 0;
                examBLL.UpdateExam(exam);

                ExamResultBLL reBll = new ExamResultBLL();

                IList <RailExam.Model.ExamResult> examResults = reBll.GetExamResultByExamID(int.Parse(strID));
                if (examResults.Count > 0)
                {
                    Response.Redirect("SelectEmployeeDetail.aspx?mode=" + strMode + "&id=" + strID);
                }
                else
                {
                    Response.Redirect("ExamManageSecond.aspx?mode=" + strMode + "&id=" + strID);
                }
            }
            else
            {
                strID = Request.QueryString.Get("id");
                ExamResultBLL reBll = new ExamResultBLL();

                IList <RailExam.Model.ExamResult> examResults = reBll.GetExamResultByExamID(int.Parse(strID));
                if (examResults.Count > 0)
                {
                    Response.Redirect("SelectEmployeeDetail.aspx?mode=" + strMode + "&id=" + strID);
                }
                else
                {
                    Response.Redirect("ExamManageSecond.aspx?mode=" + strMode + "&id=" + strID);
                }
            }
        }
Ejemplo n.º 18
0
        protected void FillPaper()
        {
            // QueryString id stands for EXAM_RESULT_ID
            string strId = Request.QueryString.Get("id");

            // Not pass id
            if (string.IsNullOrEmpty(strId))
            {
                return;
            }

            PaperItemBLL        kBLL                = new PaperItemBLL();
            PaperSubjectBLL     kBSLL               = new PaperSubjectBLL();
            ExamResultBLL       examResultBLL       = new ExamResultBLL();
            ExamResultAnswerBLL examResultAnswerBLL = new ExamResultAnswerBLL();

            RailExam.Model.ExamResult examResult = examResultBLL.GetExamResult(int.Parse(strId));
            // Not found
            if (examResult == null)
            {
                return;
            }

            IList <PaperSubject>     PaperSubjects     = kBSLL.GetPaperSubjectByPaperId(examResult.PaperId);
            PaperSubject             paperSubject      = null;
            IList <PaperItem>        PaperItems        = null;
            IList <ExamResultAnswer> examResultAnswers = examResultAnswerBLL.GetExamResultAnswers(examResult.ExamResultId);

            if (PaperSubjects != null)
            {
                for (int i = 0; i < PaperSubjects.Count; i++)
                {
                    paperSubject = PaperSubjects[i];
                    PaperItems   = kBLL.GetItemsByPaperSubjectId(paperSubject.PaperSubjectId);
                    Response.Write("<table width='100%'>");
                    Response.Write(" <tr > <td class='ExamBigTitle' >");
                    Response.Write(" " + GetNo(i) + "");
                    Response.Write(".&nbsp;" + paperSubject.SubjectName + "");
                    Response.Write("  (共" + paperSubject.ItemCount + "题,共" + paperSubject.TotalScore + "分)</td></tr >");

                    // 用于前台JS判断是否完成全部试题
                    hfPaperItemsCount.Value = paperSubject.ItemCount.ToString();

                    if (PaperItems != null)
                    {
                        for (int j = 0; j < PaperItems.Count; j++)
                        {
                            PaperItem paperItem = PaperItems[j];
                            int       k         = j + 1;

                            Response.Write("<tr > <td class='ExamResultItem'>&nbsp;&nbsp;&nbsp;"
                                           + k + ".&nbsp; " + paperItem.Content + "&nbsp;&nbsp;(" + paperItem.Score + "分)</td></tr >");

                            // 组织用户答案
                            ExamResultAnswer theExamResultAnswer = null;
                            string[]         strUserAnswers      = new string[0];
                            string           strUserAnswer       = string.Empty;

                            foreach (ExamResultAnswer resultAnswer in examResultAnswers)
                            {
                                if (resultAnswer.PaperItemId == paperItem.PaperItemId)
                                {
                                    theExamResultAnswer = resultAnswer;
                                    break;
                                }
                            }

                            // 若子表无记录,结束页面输出



                            if (theExamResultAnswer == null)
                            {
                                SessionSet.PageMessage = "数据错误!";

                                return;
                            }

                            // 否则组织考生答案
                            if (theExamResultAnswer.Answer != null)
                            {
                                strUserAnswers = theExamResultAnswer.Answer.Split(new char[] { '|' });
                            }
                            for (int n = 0; n < strUserAnswers.Length; n++)
                            {
                                string strN = intToString(int.Parse(strUserAnswers[n]) + 1);
                                if (n == 0)
                                {
                                    strUserAnswer += strN;
                                }
                                else
                                {
                                    strUserAnswer += "," + strN;
                                }
                            }

                            //多选



                            if (paperSubject.ItemTypeId == 2)
                            {
                                string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' });
                                for (int n = 0; n < strAnswer.Length; n++)
                                {
                                    string strN  = intToString(n + 1);
                                    string strij = "-" + paperItem.PaperItemId + "-" + i.ToString() + "-"
                                                   + j.ToString() + "-" + n.ToString();
                                    string strName = i.ToString() + j.ToString();

                                    Response.Write(" <tr ><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "
                                                   + "<input type='checkbox' id='Answer" + strij + "' name='Answer" + strName
                                                   + "' " + (Array.IndexOf(strUserAnswers, n) > -1 ? "checked" : "")
                                                   + " disabled/> " + strN + "." + strAnswer[n] + "</td></tr >");
                                }
                            }
                            else
                            {
                                //单选



                                string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' });
                                for (int n = 0; n < strAnswer.Length; n++)
                                {
                                    string strN  = intToString(n + 1);
                                    string strij = "-" + paperItem.PaperItemId + "-" + i.ToString() + "-" + j.ToString()
                                                   + "-" + n.ToString();
                                    string strName = i.ToString() + j.ToString();

                                    Response.Write("<tr > <td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "
                                                   + "<input type='Radio' id='RAnswer" + strij + "' name='RAnswer" + strName
                                                   + "' " + (Array.IndexOf(strUserAnswers, n) > -1 ? "checked" : "")
                                                   + " disabled/> " + strN + "." + strAnswer[n] + "</td></tr >");
                                }
                            }

                            // 组织正确答案
                            string[] strRightAnswers = paperItem.StandardAnswer.Split(new char[] { '|' });
                            string   strRightAnswer  = "";
                            for (int n = 0; n < strRightAnswers.Length; n++)
                            {
                                string strN = intToString(int.Parse(strRightAnswers[n]) + 1);
                                if (n == 0)
                                {
                                    strRightAnswer += strN;
                                }
                                else
                                {
                                    strRightAnswer += "," + strN;
                                }
                            }

                            Response.Write(" <tr><td class='ExamAnswer'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                           + "<span id='span-" + paperItem.PaperItemId + "-0' name='span-" + paperItem.PaperItemId
                                           + "'>" + strRightAnswer + "</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;考生答案:"
                                           + "<span id='span-" + paperItem.PaperItemId + "-1' name='span-" + paperItem.PaperItemId
                                           + "'>" + strUserAnswer + "</span></td></tr>");
                            Response.Write(" <tr score='" + paperItem.Score
                                           + "'><td class='ExamJudge'>★评分结果:"
                                           + GetJudgeInputs(paperItem.PaperItemId, theExamResultAnswer.JudgeStatusId)
                                           + "&nbsp;&nbsp;&nbsp;&nbsp;"
                                           + "得分<input type='text' id='txtScore" + "-" + paperItem.PaperItemId
                                           + "' name='txtScore" + "-" + paperItem.PaperItemId
                                           + "' value='" + theExamResultAnswer.JudgeScore.ToString(".00")
                                           + "' size='8'></input>&nbsp;&nbsp;&nbsp;&nbsp;"
                                           + "评语<input type='text' id='txtMemo" + "-" + paperItem.PaperItemId
                                           + "' name='txtMemo" + "-" + paperItem.PaperItemId + "' size='40' value='"
                                           + theExamResultAnswer.JudgeRemark + "'></input>"
                                           + "</td></tr>");
                        }
                    }
                    Response.Write(" </table> ");
                }
            }
        }
Ejemplo n.º 19
0
        protected void FillPage(int nExamID)
        {
            ExamBLL examBLL = new ExamBLL();

            RailExam.Model.Exam exam = examBLL.GetExam(nExamID);

            if (exam != null)
            {
                if (ViewState["mode"].ToString() == "Edit")
                {
                    if (exam.Downloaded == 1)
                    {
                        Response.Write("<script>alert('该考试已被下载,不能被编辑!');window.close();</script>");
                    }
                }
                txtCategoryName.Text    = exam.CategoryName;
                hfCategoryId.Value      = exam.CategoryId.ToString();
                ddlType.SelectedValue   = exam.ExamTypeId.ToString();
                txtExamName.Text        = exam.ExamName;
                txtExamTime.Text        = exam.ExamTime.ToString();
                dateBeginTime.DateValue = exam.BeginTime.ToString("yyyy-MM-dd HH:mm:ss");
                dateEndTime.DateValue   = exam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
                if (exam.ExamModeId == 1)
                {
                    rbExamMode1.Checked = true;
                }
                else
                {
                    rbExamMode2.Checked = true;
                }

                chUD.Checked          = exam.IsUnderControl;
                chAutoScore.Checked   = exam.IsAutoScore;
                chSeeAnswer.Checked   = exam.CanSeeAnswer;
                chSeeScore.Checked    = exam.CanSeeScore;
                chPublicScore.Checked = exam.IsPublicScore;
                txtDescription.Text   = exam.Description;
                txtMemo.Text          = exam.Memo;

                lblCreatePerson.Text = exam.CreatePerson;
                lblCreateTime.Text   = exam.CreateTime.ToString("yyyy-MM-dd HH:mm");

                ExamResultBLL reBll = new ExamResultBLL();

                try
                {
                    if (ViewState["mode"].ToString() == "Edit")
                    {
                        IList <RailExam.Model.ExamResult> examResults = reBll.GetExamResultByExamID(exam.ExamId);
                        if (examResults.Count > 0)
                        {
                            ViewState["mode"] = "ReadOnly";
                        }
                    }
                }
                catch
                {
                    Pub.ShowErrorPage("无法连接站段服务器,请检查站段服务器是否打开以及网络连接是否正常!");
                }
            }

            if (ViewState["mode"].ToString() == "ReadOnly")
            {
                txtExamName.Enabled      = false;
                dateBeginTime.Enabled    = false;
                this.dateEndTime.Enabled = false;
                ddlType.Enabled          = false;
                txtExamTime.Enabled      = false;
                rbExamMode1.Enabled      = false;
                rbExamMode2.Enabled      = false;

                chUD.Enabled           = false;
                chAutoScore.Enabled    = false;
                chSeeAnswer.Enabled    = false;
                chSeeScore.Enabled     = false;
                chPublicScore.Enabled  = false;
                txtDescription.Enabled = false;
                txtMemo.Enabled        = false;
            }
        }
Ejemplo n.º 20
0
        private string GetExamOutString(string strId, string orgid)
        {
            ExamResultBLL examResultBLL = new ExamResultBLL();
            PaperBLL      kBLL          = new PaperBLL();

            RailExam.Model.ExamResult examResult = new RailExam.Model.ExamResult();
            if (ViewState["NowOrgID"].ToString() == orgid)
            {
                examResult = examResultBLL.GetExamResult(Convert.ToInt32(strId));
            }
            else
            {
                examResult = examResultBLL.GetExamResultByOrgID(Convert.ToInt32(strId), Convert.ToInt32(orgid));
            }
            RailExam.Model.Paper paper = null;
            EmployeeBLL          ebLL  = new EmployeeBLL();

            RailExam.Model.Employee Employee = ebLL.GetEmployee(examResult.ExamineeId);
            paper = kBLL.GetPaper(examResult.PaperId);

            PaperItemBLL paperItemBLL = new PaperItemBLL();
            IList <RailExam.Model.PaperItem> paperItems = paperItemBLL.GetItemsByPaperId(paper.PaperId);
            int nItemCount = paperItems.Count;

            decimal nTotalScore = 0;

            for (int i = 0; i < paperItems.Count; i++)
            {
                nTotalScore += paperItems[i].Score;
            }



            string strOrgName     = Employee.OrgName;
            string strStationName = "";
            string strOrgName1    = "";
            int    n = strOrgName.IndexOf("-");

            if (n != -1)
            {
                strStationName = strOrgName.Substring(0, n);
                strOrgName1    = strOrgName.Substring(n + 1);
            }
            else
            {
                strStationName = strOrgName;
                strOrgName1    = "";
            }

            string str = "<div style='text-align:center;font-size:18pt;'>" + PrjPub.GetRailName() + "考试试卷</div>";

            str += "<div style='text-align:left;font-size:10.5pt;'>考试名称:" + paper.PaperName + " </div>";
            str += "<div style='text-align:right;font-size:10.5pt;'>总共" + nItemCount + "题,共 " + nTotalScore + "分</div>";
            str += "<div style='text-align:center;'><table width='100%' border='1' cellpadding='0' cellspacing='0' >";
            str += "<tr><td  width='7%' style='font-size:10.5pt' >单位:</td>";
            str += "<td  width='26%' style='font-size:10.5pt' align='left' >" + strStationName + "</td>";
            str += "<td  width='7%' style='font-size:10.5pt' >车间:</td>";
            str += "<td  width='27%' style='font-size:10.5pt' align='left' >" + strOrgName1 + "</td>";
            str += "<td  width='7%' style='font-size:10.5pt' >职名:</td>";
            str += "<td  width='26%' style='font-size:10.5pt' align='left' >" + Employee.PostName + "</td></tr>";
            str += "<tr><td  width='7%' style='font-size:10.5pt' >姓名:</td>";
            str += "<td  width='26%' style='font-size:10.5pt' align='left' >" + Employee.EmployeeName + "</td>";
            str += "<td  width='7%' style='font-size:10.5pt' >时间:</td>";
            str += "<td  width='27%' style='font-size:10.5pt' align='left' >" + examResult.BeginDateTime.ToString("yyyy-MM-dd HH:mm") + "</td>";
            str += "<td  width='7%' style='font-size:10.5pt' >成绩:</td>";
            str += "<td  width='26%' style='font-size:10.5pt' align='left' >" + examResult.Score + "</td></tr></table></div>";
            str += "<br>";
            str += GetFillExamPaperString(strId, orgid);

            string strReplace;

            if (PrjPub.IsServerCenter)
            {
                strReplace = "http://" + ConfigurationManager.AppSettings["ServerIP"] + "/RailExamBao/";
            }
            else
            {
                strReplace = "http://" + ConfigurationManager.AppSettings["StationIP"] + "/RailExamBao/";
            }
            str = str.Replace("/RailExamBao/", strReplace);

            return(str);
        }
Ejemplo n.º 21
0
        protected string GetFillExamPaperString(string strId, string orgid)
        {
            string              strPaperString      = "";
            PaperItemBLL        kBLL                = new PaperItemBLL();
            PaperSubjectBLL     kBSLL               = new PaperSubjectBLL();
            ExamResultBLL       examResultBLL       = new ExamResultBLL();
            ExamResultAnswerBLL examResultAnswerBLL = new ExamResultAnswerBLL();

            RailExam.Model.ExamResult examResult = new RailExam.Model.ExamResult();
            if (ViewState["NowOrgID"].ToString() == orgid)
            {
                examResult = examResultBLL.GetExamResult(Convert.ToInt32(strId));
            }
            else
            {
                examResult = examResultBLL.GetExamResultByOrgID(Convert.ToInt32(strId), Convert.ToInt32(orgid));
            }
            IList <PaperSubject> PaperSubjects = new List <PaperSubject>();

            if (ViewState["NowOrgID"].ToString() == orgid)
            {
                PaperSubjects = kBSLL.GetPaperSubjectByPaperId(examResult.PaperId);
            }
            else
            {
                PaperSubjects = kBSLL.GetPaperSubjectByPaperIdByOrgID(examResult.PaperId, Convert.ToInt32(orgid));
            }
            RailExam.Model.PaperSubject      paperSubject      = null;
            IList <RailExam.Model.PaperItem> PaperItems        = null;
            IList <ExamResultAnswer>         examResultAnswers = new List <ExamResultAnswer>();

            if (ViewState["NowOrgID"].ToString() == orgid)
            {
                examResultAnswers = examResultAnswerBLL.GetExamResultAnswers(examResult.ExamResultIDStation);
            }
            else
            {
                examResultAnswers = examResultAnswerBLL.GetExamResultAnswersByOrgID(examResult.ExamResultIDStation, Convert.ToInt32(orgid));
            }

            for (int i = 0; i < PaperSubjects.Count; i++)
            {
                paperSubject = PaperSubjects[i];
                if (ViewState["NowOrgID"].ToString() == orgid)
                {
                    PaperItems = kBLL.GetItemsByPaperSubjectId(paperSubject.PaperSubjectId);
                }
                else
                {
                    PaperItems = kBLL.GetItemsByPaperSubjectIdByOrgID(paperSubject.PaperSubjectId, Convert.ToInt32(orgid));
                }
                strPaperString += " <table width='100%' border='0' cellpadding='0' cellspacing='0'>";
                strPaperString += " <tr><td  style='font-size:14pt'>";
                strPaperString += " " + GetNo(i) + "";
                strPaperString += ".&nbsp;" + paperSubject.SubjectName + "";
                strPaperString += "  (共" + paperSubject.ItemCount + "题,共" + paperSubject.ItemCount * paperSubject.UnitScore + "分)</td></tr >";

                if (PaperItems != null)
                {
                    for (int j = 0; j < PaperItems.Count; j++)
                    {
                        RailExam.Model.PaperItem paperItem = PaperItems[j];
                        int k = j + 1;

                        strPaperString += "<tr > <td style='font-size:10.5pt'>&nbsp;&nbsp;&nbsp;"
                                          + k + ".&nbsp; " + paperItem.Content + "&nbsp;&nbsp;(" + paperSubject.UnitScore +
                                          "分)</td></tr >";

                        // 组织用户答案
                        RailExam.Model.ExamResultAnswer theExamResultAnswer = null;
                        string[] strUserAnswers = new string[0];
                        string   strUserAnswer  = string.Empty;

                        foreach (RailExam.Model.ExamResultAnswer resultAnswer in examResultAnswers)
                        {
                            if (resultAnswer.PaperItemId == paperItem.PaperItemId)
                            {
                                theExamResultAnswer = resultAnswer;
                                break;
                            }
                        }

                        // 若子表无记录,结束页面输出


                        if (theExamResultAnswer == null)
                        {
                            SessionSet.PageMessage = "数据错误!";
                        }

                        // 否则组织考生答案
                        if (theExamResultAnswer.Answer != null)
                        {
                            strUserAnswers = theExamResultAnswer.Answer.Split(new char[] { '|' });
                        }
                        for (int n = 0; n < strUserAnswers.Length; n++)
                        {
                            string strN = intToString(int.Parse(strUserAnswers[n]) + 1);
                            if (n == 0)
                            {
                                strUserAnswer += strN;
                            }
                            else
                            {
                                strUserAnswer += "," + strN;
                            }
                        }

                        //多选


                        if (paperSubject.ItemTypeId == 2)
                        {
                            string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' });
                            for (int n = 0; n < strAnswer.Length; n++)
                            {
                                string strN  = intToString(n + 1);
                                string strij = "-" + paperItem.PaperItemId + "-" + i.ToString() + "-"
                                               + j.ToString() + "-" + n.ToString();
                                string strName = i.ToString() + j.ToString();

                                strPaperString += " <tr ><td style='font-size:10.5pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "
                                                  + strN + "." + strAnswer[n] + "</td></tr >";
                            }
                        }
                        else
                        {
                            //单选

                            string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' });
                            for (int n = 0; n < strAnswer.Length; n++)
                            {
                                string strN  = intToString(n + 1);
                                string strij = "-" + paperItem.PaperItemId + "-" + i.ToString() + "-" + j.ToString()
                                               + "-" + n.ToString();
                                string strName = i.ToString() + j.ToString();

                                strPaperString += "<tr > <td style='font-size:10.5pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "
                                                  + strN + "." + strAnswer[n] + "</td></tr >";
                            }
                        }

                        // 组织正确答案
                        string[] strRightAnswers = paperItem.StandardAnswer.Split(new char[] { '|' });
                        string   strRightAnswer  = "";
                        for (int n = 0; n < strRightAnswers.Length; n++)
                        {
                            string strN = intToString(int.Parse(strRightAnswers[n]) + 1);
                            if (n == 0)
                            {
                                strRightAnswer += strN;
                            }
                            else
                            {
                                strRightAnswer += "," + strN;
                            }
                        }

                        strPaperString += " <tr><td style='font-size:10.5pt'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                          + "<span id='span-" + paperItem.PaperItemId + "-0' name='span-" +
                                          paperItem.PaperItemId
                                          + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;考生答案:"
                                          + "<span id='span-" + paperItem.PaperItemId + "-1' name='span-" +
                                          paperItem.PaperItemId
                                          + "'>" + strUserAnswer + "</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;得分:&nbsp;" + theExamResultAnswer.JudgeScore.ToString() + "</td></tr>";
                    }
                }
                strPaperString += " </table> ";
            }

            return(strPaperString);
        }
Ejemplo n.º 22
0
        protected DataSet GetDataSet()
        {
            string  qsTypeId = Request.QueryString.Get("type");
            string  qsExamId = Request.QueryString.Get("eid");
            int     orgID    = Convert.ToInt32(Request.QueryString.Get("OrgID"));
            DataSet ds       = new DataSet();

            if (!string.IsNullOrEmpty(qsTypeId) && !string.IsNullOrEmpty(qsExamId))
            {
                int     nOrganizationId     = string.IsNullOrEmpty(hfOrganizationId.Value) ? PrjPub.DEFAULT_INT_IN_DB : int.Parse(hfOrganizationId.Value);
                string  strExamineeName     = string.IsNullOrEmpty(txtExamineeName.Text) ? string.Empty : txtExamineeName.Text;
                string  strWorkNo           = string.IsNullOrEmpty(txtWorkNo.Text) ? string.Empty : txtWorkNo.Text;
                decimal dScoreLower         = string.IsNullOrEmpty(txtScoreLower.Text) ? 0 : decimal.Parse(txtScoreLower.Text);
                decimal dScoreUpper         = string.IsNullOrEmpty(txtScoreUpper.Text) ? 500 : decimal.Parse(txtScoreUpper.Text);
                int     nExamStatusId       = string.IsNullOrEmpty(ddlStatusId.SelectedValue) ? PrjPub.DEFAULT_INT_IN_DB : int.Parse(ddlStatusId.SelectedValue);
                string  strOrganizationName = string.IsNullOrEmpty(txtOrganizationName.Text) ? string.Empty : txtOrganizationName.Text;

                IList <RailExam.Model.ExamResult> examResults = null;
                ExamResultBLL bllExamResult = new ExamResultBLL();

                try
                {
                    if (orgID == 1)
                    {
                        examResults = bllExamResult.GetExamResults(int.Parse(qsExamId), strOrganizationName, strExamineeName, strWorkNo, dScoreLower,
                                                                   dScoreUpper, nExamStatusId);
                    }
                    else
                    {
                        examResults = bllExamResult.GetExamResultsByOrgID(
                            int.Parse(qsExamId), strOrganizationName, strExamineeName, strWorkNo, dScoreLower,
                            dScoreUpper, nExamStatusId, orgID);
                    }
                }
                catch
                {
                    Pub.ShowErrorPage("无法连接站段服务器,请检查站段服务器是否打开以及网络连接是否正常!");
                }

                ExamResultStatusBLL bllExamResultStatus = new ExamResultStatusBLL();
                IList <RailExam.Model.ExamResultStatus> examResultStatuses = bllExamResultStatus.GetExamResultStatuses();

                DataTable dtExamResults        = ConvertToDataTable((IList)examResults);
                DataTable dtExamResultStatuses = ConvertToDataTable((IList)examResultStatuses);

                if (dtExamResults != null)
                {
                    ds.Tables.Add(dtExamResults);
                }
                else
                {
                    ds.Tables.Add(ConvertToDataTable(typeof(RailExam.Model.ExamResult)));
                }

                ds.Tables.Add(dtExamResultStatuses);
                ds.Relations.Add(ds.Tables["ExamResultStatus"].Columns["ExamResultStatusId"],
                                 ds.Tables["ExamResult"].Columns["StatusId"]);
            }

            return(ds);
        }