using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Telerik.Web.UI; namespace VRS.Management.VSAT { public partial class FaultExamMark : BaseListPage { DataService.BLL.pro_fault_exam bll = new DataService.BLL.pro_fault_exam(); DataService.BLL.pro_fault_exam_paper_item bll_paper_item = new DataService.BLL.pro_fault_exam_paper_item(); DataService.BLL.pro_fault_exam_paper bll_paper = new DataService.BLL.pro_fault_exam_paper(); DataService.BLL.admin_log log = new DataService.BLL.admin_log(); DataService.BLL.pro_result bll_result = new DataService.BLL.pro_result(); DataService.BLL.pro_subject bll_subject = new DataService.BLL.pro_subject(); protected override void Page_Load(object sender, EventArgs e) { base.Page_Load(sender, e); if (!IsPostBack) { DataLoad(); } } protected override void DataLoad() { string paper_id = Request.Params["Id"]; string result_id = Request.Params["result_id"]; if (!string.IsNullOrEmpty(result_id)) { var model = bll_result.GetModel(result_id); //从科目成绩查询页面进来 if (null != model) { paper_id = model.r3; score.ReadOnly = true; score_dsc.ReadOnly = true; tr_add.Visible = false; } } if (!string.IsNullOrWhiteSpace(paper_id)) { var list = bll_paper_item.GetModelList(" paper_id='" + paper_id + "'"); dataList.DataSource = list; dataList.Rebind(); var paper = bll_paper.GetModel(paper_id); var desc = string.Format("姓名:" + paper.real_name + " 、 学号:" + paper.login_name + "、 批次:" + paper.batch_name); span_batch.InnerHtml = desc; score.Text = paper.score.ToString(); score_dsc.Text = paper.score_dsc; fault_count.InnerHtml = list.Count.ToString(); } else { OnError(null); } } protected void btnSelect_Click(object sender, EventArgs e) { DataLoad(); } 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 btnSure_Click(object sender, EventArgs e) { string paper_id = Request.Params["Id"]; var id = Request.Params["Id"]; if (string.IsNullOrEmpty(score.Text)) { RadAjaxManager1.Alert("分数不能为空!"); return; } var score_value = decimal.Parse(score.Text); if (score_value < 0) { RadAjaxManager1.Alert("分数不能为负值!"); return; } var model = bll_paper.GetModel(paper_id); model.score = score_value; model.score_dsc = score_dsc.Text.Trim(); model.state = 2; if (bll_paper.Update(model)) { save_paper_item_result(); save_pro_result(model); log.write_log("故障现象打分成功。" + " 分数:" + score_value + " 姓名:" + model.real_name + " 学号:" + model.login_name + " 批次:" + model.batch_name + ",id:" + model.paper_id); RadAjaxManager1.ResponseScripts.Add("alert('打分成功!');CloseAndRebind();"); } else RadAjaxManager1.Alert("故障现象打分失败!"); } public void save_pro_result(DataService.Model.pro_fault_exam_paper paper) { DataService.BLL.pro_result bll = new DataService.BLL.pro_result(); var result = bll.GetModelList(" subject_id='00003' and batch_id='" + paper.batch_id + "' and user_id='" + paper.user_id + "'").FirstOrDefault(); if (null != result) { result.total_result = paper.score; bll.Update(result); return; } var model = new DataService.Model.pro_result(); model.result_id = GetNewId(); var dt_time = DateTime.Now; model.examine_time = paper.examine_time; var subject_id = "00003"; model.subject_id = subject_id; var subject = bll_subject.GetModel(subject_id); model.subject_name = subject.subject_name; //故障现象考试$$$$ model.batch_id = paper.batch_id; model.batch_name = paper.batch_name; model.sjms = paper.sjms; model.user_id = paper.user_id; model.login_name = paper.login_name; model.real_name = paper.real_name; model.grade = paper.grade; model.major = paper.major; model.exam_year = DateTime.Now.Year; model.exam_month = DateTime.Now.Month; model.total_result = paper.score; model.r3 = paper.paper_id; bll.Add(model); } public void save_paper_item_result() { var count = dataList.MasterTableView.Items.Count; for (var i = 0; i < count; i++) { var item = dataList.MasterTableView.Items[i]; var textbox = item.DetailTemplateItemDataCell.FindControl("score") as RadNumericTextBox; if (null != textbox) { var item_id = item.GetDataKeyValue("item_id").ToString(); //,item_id,score var model = bll_paper_item.GetModel(item_id); model.score = decimal.Parse(textbox.Text); bll_paper_item.Update(model); } } } protected void dataList_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem item = e.Item as GridDataItem; var textbox = item.DetailTemplateItemDataCell.FindControl("score") as RadNumericTextBox; //exam_id,item_id,score var score = item.GetDataKeyValue("score").ToString(); var exam_id = item.GetDataKeyValue("exam_id").ToString(); if (null != textbox) { textbox.Enabled = tr_add.Visible; textbox.Text = score; } } } protected void btnCompute_Click(object sender, EventArgs e) { double total = 0; var count = dataList.MasterTableView.Items.Count; for (var i = 0; i < count; i++) { var item = dataList.MasterTableView.Items[i]; var textbox = item.DetailTemplateItemDataCell.FindControl("score") as RadNumericTextBox; if (null != textbox) { var value = textbox.Value.HasValue ? textbox.Value.Value : 0; total += value; } } score.Value = total; } } }