using System; using System.Collections.Generic; 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 FaultExamPaper_Add : BaseListPage { DataService.BLL.admin_user bll = new DataService.BLL.admin_user(); DataService.BLL.pro_fault_exam bll_fault_exam = new DataService.BLL.pro_fault_exam(); DataService.BLL.pro_fault_exam_paper bll_fault_exam_paper = new DataService.BLL.pro_fault_exam_paper(); DataService.BLL.pro_exam_batch bll_batch = new DataService.BLL.pro_exam_batch(); DataService.BLL.admin_log log = new DataService.BLL.admin_log(); DataService.BLL.pro_fault_exam_paper_item bll_paper_item = new DataService.BLL.pro_fault_exam_paper_item(); protected override void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindMajors(dpMajor, ""); BindGrade(grade, ""); BindExamBatch(dpbatch, ""); DataLoad(); } } protected override void DataLoad() { StringBuilder query = new StringBuilder(" 1 = 1 "); if (!string.IsNullOrWhiteSpace(login_name.Text.Trim())) { query.AppendFormat(" AND login_name LIKE '%{0}%' ", login_name.Text.Trim()); } if (!string.IsNullOrWhiteSpace(real_name.Text.Trim())) { query.AppendFormat(" AND real_name LIKE '%{0}%' ", real_name.Text.Trim()); } /* if (!string.IsNullOrWhiteSpace(id_card.Text.Trim())) { query.AppendFormat(" AND id_card LIKE '%{0}%' ", id_card.Text.Trim()); }*/ if (!string.IsNullOrWhiteSpace(dpMajor.SelectedValue)) { query.AppendFormat(" AND major = '{0}' ", dpMajor.SelectedValue); } if (!string.IsNullOrWhiteSpace(grade.SelectedValue)) { query.AppendFormat(" AND grade = '{0}' ", grade.SelectedValue); } //已经存在考试批次的学员,禁止重复添加 query.AppendFormat(" and T1.user_id not in (select user_id from pro_fault_exam_paper where state = 0) "); var sql = query.ToString(); var data = bll.GetUsrUsers(sql); dataList.DataSource = data; dataList.Rebind(); var exam_list = bll_fault_exam.GetModelList(""); CheckBoxList1.DataBindings.DataTextField = "exam_title"; CheckBoxList1.DataBindings.DataValueField = "exam_id"; CheckBoxList1.DataSource = exam_list; CheckBoxList1.DataBind(); } 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 AjaxManager_AjaxRequest(object sender, AjaxRequestEventArgs e) { } protected void btnSelect_Click(object sender, EventArgs e) { DataLoad(); } protected override void GrdList_DeleteCommand(object sender, GridCommandEventArgs e) { } protected void btnAdd_Click(object sender, EventArgs e) { var count = dataList.SelectedItems.Count; if (count <= 0) { RadAjaxManager1.Alert("学员不能为空!"); return; } if (string.IsNullOrEmpty(dpbatch.SelectedValue)) { RadAjaxManager1.Alert("请选择考试批次!"); return; } var array = CheckBoxList1.SelectedValues; if (array.Length <= 0) { RadAjaxManager1.Alert("请选择故障题目!"); return; } List list_fault_exam = new List(); foreach(var item in array) { var exam = bll_fault_exam.GetModel(item); list_fault_exam.Add(exam); } List list_admin_user = new List(); foreach (var obj in dataList.SelectedItems) { GridDataItem item = obj as GridDataItem; var user_id = item.GetDataKeyValue("user_id").ToString(); var user = bll.GetModel(user_id); list_admin_user.Add(user); } var batch = bll_batch.GetModel(dpbatch.SelectedValue); var now = DateTime.Now; var success = false; var fail_list = new List(); foreach (var user in list_admin_user) { //学员存在考试批次 禁止添加 var exist_sql = " user_id ='" + user.user_id + "' and batch_id='" + batch.batch_id + "'"; var exist_list = bll_fault_exam_paper.GetModelList(exist_sql); if (exist_list.Count>0) { fail_list.Add(user.real_name); continue; } var model = new DataService.Model.pro_fault_exam_paper(); var paper_id = GetNewId(); model.paper_id = paper_id; model.user_id = user.user_id; model.login_name = user.login_name; model.real_name = user.real_name; model.batch_id = batch.batch_id; model.batch_name = batch.batch_name; model.sjms = batch.sjms; model.state = 0; model.score = 0; model.create_time = now; foreach(var fault_item in list_fault_exam) { var paper_item = new DataService.Model.pro_fault_exam_paper_item(); paper_item.item_id = GetNewId(); paper_item.paper_id = paper_id; paper_item.exam_id = fault_item.exam_id; paper_item.exam_title = fault_item.exam_title; paper_item.create_time = now; bll_paper_item.Add(paper_item); } success =bll_fault_exam_paper.Add(model); } string desc = ""; if (fail_list.Count > 0) { desc = " 学员(" + string.Join("", fail_list.ToArray()) + "),已经添加过该批次!"; } if (success) { log.write_log("添加故障考试题目成功。" +desc); if (fail_list.Count > 0) { RadAjaxManager1.ResponseScripts.Add("alert('部分添加成功!" + desc + "');CloseAndRebind();"); } else { RadAjaxManager1.ResponseScripts.Add("alert('添加成功!');CloseAndRebind();"); } } else { log.write_log("添加故障考试题目失败。" + desc); RadAjaxManager1.Alert("添加失败!"+ desc); } } } }