gyhlw_dotnet/网站项目/VRS/Management/VSAT/ExamBatchResultDetail.aspx.cs

274 lines
9.9 KiB
C#

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 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;
}
}
}
}
}
}