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

314 lines
12 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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