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

207 lines
7.5 KiB
C#

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<DataService.Model.pro_fault_exam> list_fault_exam = new List<DataService.Model.pro_fault_exam>();
foreach(var item in array)
{
var exam = bll_fault_exam.GetModel(item);
list_fault_exam.Add(exam);
}
List<DataService.Model.admin_user> list_admin_user = new List<DataService.Model.admin_user>();
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<string>();
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);
}
}
}
}