using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace VRS.Handler
{
///
/// UserSubject 的摘要说明
///
public class UserSubject : BasePage, IHttpHandler
{
DataService.BLL.admin_user bll_user = new DataService.BLL.admin_user();
DataService.BLL.pro_fault bll_fault = new DataService.BLL.pro_fault();
DataService.BLL.pro_subject_batch_user bll_subject_batch_user = new DataService.BLL.pro_subject_batch_user();
DataService.BLL.pro_fault_exam bll_fault_exam = new DataService.BLL.pro_fault_exam();
DataService.BLL.admin_log log = new DataService.BLL.admin_log();
DataService.BLL.pro_fault_batch_user bll_fault_batch_user = new DataService.BLL.pro_fault_batch_user();
DataService.BLL.pro_fault_exam_paper bll_fault_exam_paper = new DataService.BLL.pro_fault_exam_paper();
public override void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string id = context.Request.Params["id"];
if (string.IsNullOrEmpty(id))
{
context.Response.Write(GetJsonWithCode(APICode.Fail, "登录账号,参数 id不能为空!"));
context.Response.End();
}
/*
if (id.ToLower() == "all")
{
context.Response.Write(GetJsonWithCode(APICode.Success, bll_fault_exam.GetModelList("")));
context.Response.End();
}*/
var user = bll_user.GetModelByJobNumber(id);
if (null == user)
{
context.Response.Write(GetJsonWithCode(APICode.Fail, "学员不存在,账号:" + id));
context.Response.End();
}
//故障科目3D故障点
//已配置批次和人员
var query = " 1=1 and batch_id in (select batch_id from pro_exam_batch where state = 1) and login_name='" + id + "' ";
//且没有考试
query = query + " and not exists(select * from pro_result where pro_result.batch_id = pro_fault_batch_user.batch_id and pro_fault_batch_user.login_name = pro_result.login_name and pro_result.subject_id = '10003') ";
var fault_batch_user = bll_fault_batch_user.GetModelList(query).FirstOrDefault();
//故障现象考试
var fault_paper_list = bll_fault_exam_paper.GetListExamPaper(user.login_name).Tables[0];
var subject_batch = bll_subject_batch_user.GetListExamPaper(user.login_name).Tables[0];
if (subject_batch.Rows.Count <= 0 && null == fault_batch_user && fault_paper_list.Rows.Count <= 0)
{
log.write_user_log(user, "该学员没有配置科目考试或者已经考过试," + "学号:" + user.login_name + " 姓名:" + user.real_name);
context.Response.Write(GetJsonWithCode(APICode.Fail, "该学员没有配置科目考试或者已经考过试," + "学号:" + user.login_name + " 姓名:" + user.real_name));
context.Response.End();
}
else
{
List list = new List();
for (var i = 0; i < subject_batch.Rows.Count; i++)
{
var row = subject_batch.Rows[i];
var subject_id = row["subject_id"].ToString();
if (!list.Contains(subject_id))
{
list.Add(subject_id);
}
}
if (null != fault_batch_user)
{
list.Add("10003");
}
if (fault_paper_list.Rows.Count > 0)
{
list.Add("00003");
}
var obj = new
{
subject = string.Join(",", list.ToArray())
};
context.Response.Write(GetJsonWithCode(APICode.Success, obj));
context.Response.End();
}
}
public new bool IsReusable
{
get
{
return false;
}
}
}
}