using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Telerik.Web.UI; namespace VRS.Management.VSAT { public partial class ExamBatchResultDetail : BaseListPage { DataService.BLL.pro_result_detail bll = new DataService.BLL.pro_result_detail(); DataService.BLL.pro_result bll_result = new DataService.BLL.pro_result(); DataService.BLL.admin_user bll_admin_User = new DataService.BLL.admin_user(); DataService.BLL.pro_exam_batch_result bll_batch_result = new DataService.BLL.pro_exam_batch_result(); DataService.BLL.pro_exam_batch_result_detail bll_batch_result_detail = new DataService.BLL.pro_exam_batch_result_detail(); DataService.BLL.pro_file bll_file = new DataService.BLL.pro_file(); protected override void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataLoad(); } } protected override void DataLoad() { string Id = Request.Params["Id"]; var data = bll_batch_result_detail.GetModelList(" result_id='" + Id + "' ").OrderBy(s => s.no).ToList(); foreach (var item in data) { if (item.is_right == 1) { item.result_desc = "对"; } else if (item.is_right == 0) { item.result_desc = "错"; } else if (item.is_right == 2) { item.result_desc = "缺"; } } hidden_result_id.Value = Id; var result = bll_batch_result.GetModel(Id); var user = bll_admin_User.GetModel(result.user_id); //span_name.InnerHtml = " 姓名:"+user.real_name + ",场次:" + result.batch_name + ",总得分:" + result.score ; span_name.InnerHtml = " 姓名:" + result.real_name + ",场次:" + result.batch_name + ",总得分:" + result.score; var data1 = data.Where(s => s.kind == "判断题").OrderBy(s => s.no).ToList(); dataList_panduan.DataSource = data1; dataList_panduan.Rebind(); span_panduan.InnerHtml = " 得分:" + data1.Sum(s => s.score); var data2 = data.Where(s => s.kind == "单选题").OrderBy(s => s.no).ToList(); dataList_Danxuan.DataSource = data2; dataList_Danxuan.Rebind(); span_danxuan.InnerHtml = " 得分:" + data2.Sum(s => s.score); var data3 = data.Where(s => s.kind == "多选题").OrderBy(s => s.no).ToList(); dataList_Duoxuan.DataSource = data3; dataList_Duoxuan.Rebind(); span_duoxuan.InnerHtml = " 得分:" + data3.Sum(s => s.score); var data5 = data.Where(s => s.kind == "填空题").OrderBy(s => s.no).ToList(); dataList_tiankong.DataSource = data5; dataList_tiankong.Rebind(); span_tiankong.InnerHtml = " 得分:" + data5.Sum(s => s.score); var data4 = data.Where(s => s.kind == "简答题").OrderBy(s => s.no).ToList(); dataList_jianda.DataSource = data4; dataList_jianda.Rebind(); span_jianda.InnerHtml = " 得分:" + data4.Sum(s => s.score); } protected override void GridList_PageIndexChanged(object sender, GridPageChangedEventArgs e) { DataLoad(); } protected override void GridList_PageSizeChanged(object sender, GridPageSizeChangedEventArgs e) { DataLoad(); } protected override void GridList_SortCommand(object sender, GridSortCommandEventArgs e) { DataLoad(); } protected override void GrdList_DeleteCommand(object sender, GridCommandEventArgs e) { string Id = (e.Item as GridDataItem).OwnerTableView.DataKeyValues[e.Item.ItemIndex]["Id"].ToString(); bll.Delete(Id); DataLoad(); } protected override void AjaxManager_AjaxRequest(object sender, AjaxRequestEventArgs e) { } protected void btnSelect_Click(object sender, EventArgs e) { DataLoad(); } protected void btnDelete_Click(object sender, EventArgs e) { bll.Delete(IdInput.Value); DataLoad(); } protected void dataList_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem item = e.Item as GridDataItem; var model = item.DataItem as DataService.Model.pro_result_detail; if (null != model) { if (model.score == 0) { e.Item.CssClass = "row_highlight"; } } /* double score = double.Parse(item.GetDataKeyValue("score").ToString()); if (score == 0) { e.Item.CssClass = "row_highlight"; } */ } } #region ==============旧有的方法============= protected void dataList_Jianda_ItemDataBound_old(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem item = e.Item as GridDataItem; var r1 = item.GetDataKeyValue("r1").ToString(); var r2 = item.GetDataKeyValue("r2").ToString(); var r3 = item.GetDataKeyValue("r3").ToString(); var image1 = e.Item.FindControl("imgTopic1") as Image;//考生答案 var image2 = e.Item.FindControl("imgTopic2") as Image;//正确答案 if (null != image1 && null != image2) { if (r3 == "1") { image1.ImageUrl = r1; image2.ImageUrl = r2; } else { image1.Visible = false; image2.Visible = false; } } } } #endregion protected void dataList_Jianda_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { //result_id,theory_base_id GridDataItem item = e.Item as GridDataItem; var detail = item.DataItem as DataService.Model.pro_exam_batch_result_detail; if (null == detail) { return; } var result_id = detail.result_id; var theory_base_id = detail.theory_base_id; /* var result_id = item.GetDataKeyValue("result_id").ToString(); var theory_base_id = item.GetDataKeyValue("theory_base_id").ToString(); */ var txt = e.Item.FindControl("option_name") as RadTextBox; if (null != txt) { txt.Text = detail.score.ToString(); } var imgRight1 = e.Item.FindControl("imgRight1") as Image;//正确答案1 var imgRight2 = e.Item.FindControl("imgRight2") as Image;//正确答案2 var imgRight3 = e.Item.FindControl("imgRight3") as Image;//正确答案3 var imgUser1 = e.Item.FindControl("imgUser1") as Image;//用户答案1 var imgUser2 = e.Item.FindControl("imgUser2") as Image;//用户答案2 var imgUser3 = e.Item.FindControl("imgUser3") as Image;//用户答案3 var query_right = string.Format(" theory_base_id ='{0}' and out_id='{1}' ", theory_base_id, "answer"); var list_right = bll_file.GetModelList(query_right).OrderBy(s => s.create_time).ToList(); for (int i = 0; i < list_right.Count; i++) { var obj = list_right[i]; try { var file = Server.MapPath(obj.file_url); if (!File.Exists(file)) { continue; } } catch (Exception ex) { continue; } if (i == 0) { imgRight1.ImageUrl = obj.file_url; } else if (i == 1) { imgRight2.ImageUrl = obj.file_url; } else if (i == 2) { imgRight3.ImageUrl = obj.file_url; } } var query_user = string.Format(" theory_base_id ='{0}' and out_id='{1}' ", theory_base_id, result_id); var user_list = bll_file.GetModelList(query_user).OrderBy(s => s.create_time).ToList(); for (int i = 0; i < user_list.Count; i++) { var obj = user_list[i]; try { var file = Server.MapPath(obj.file_url); if (!File.Exists(file)) { continue; } } catch (Exception ex) { continue; } if (i == 0) { imgUser1.ImageUrl = obj.file_url; } else if (i == 1) { imgUser2.ImageUrl = obj.file_url; } else if (i == 2) { imgUser3.ImageUrl = obj.file_url; } } } } protected void btnSaveOneJianda_Click(object sender, EventArgs e) { var btn = sender as Button; var cell = btn.Parent as GridTableCell; var item = cell.Parent as GridDataItem; RadTextBox txt = item.FindControl("option_name") as RadTextBox; var theory_base_id = item.GetDataKeyValue("theory_base_id").ToString(); var result_id = item.GetDataKeyValue("result_id").ToString(); var id = item.GetDataKeyValue("id").ToString(); var detail = bll_batch_result_detail.GetModel(id); var result = bll_batch_result.GetModel(result_id); if (string.IsNullOrWhiteSpace(txt.Text)) { RadAjaxManager1.ResponseScripts.Add("alert('分值不能为空!');"); return; } decimal crtScore = decimal.Parse(txt.Text); if (crtScore > detail.total) { RadAjaxManager1.ResponseScripts.Add(string.Format("alert('分值不能大于{0}!');",detail.total)); return; } decimal addScore = crtScore - detail.score; result.score = result.score + addScore; if (bll_batch_result.Update(result)) { detail.score = crtScore; bll_batch_result_detail.Update(detail); DataLoad(); } } } }