using MESClassLibrary.BLL.User;
using MESWebSite.CommonClass;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
namespace MESWebSite.HttpHandlers
{
///
/// UserHandler 的摘要说明
///
public class UserHandler : IHttpHandler
{
public class parmQuery
{
public string UserName { get; set; }
public int page { get; set; }
public int pagesize { get; set; }
}
public class parmNew
{
public Guid UserID { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public string RealName { get; set; }
public string Sex { get; set; }
public string Tel { get; set; }
public string Department { get; set; }
public Guid DepartmentID { get; set; }
public string IsEnabled { get; set; }
public string MenuList { get; set; }
public string opName { get; set; }
}
public class parmEdit
{
public Guid UserID { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public string RealName { get; set; }
public string Sex { get; set; }
public string Tel { get; set; }
public string Department { get; set; }
public Guid DepartmentID { get; set; }
public string IsEnabled { get; set; }
public string MenuList { get; set; }
public string opName { get; set; }
}
public class parmDelete
{
public string UserID { get; set; }
public string opName { get; set; }
}
public class parmQueryMenuTree
{
public Guid UserID { get; set; }
}
HttpRequest Request = null;
HttpResponse Response = null;
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
Request = context.Request;
Response = context.Response;
string method = Request.Params["method"];
switch (method)
{
case "QueryForCombobox":
QueryForCombobox();
break;
case "QueryList":
QueryList();
break;
case "SaveInfo":
SaveInfo();
break;
case "DelInfo":
DelInfo();
break;
case "QueryDepartment":
QueryDepartment();
break;
case "QueryMenuTree":
QueryMenuTree();
break;
}
}
void QueryForCombobox()
{
UserBLL bll = new UserBLL();
Response.Write(bll.GetComboboxData());
Response.End();
}
void QueryList()
{
parmQuery parms = new parmQuery();
if (Request.Params["UserName"] != null)
parms.UserName = Request.Params["UserName"].ToString();
else
parms.UserName = "";
parms.page = Convert.ToInt32(Request.Params["page"].ToString());
parms.pagesize = Convert.ToInt32(Request.Params["rows"].ToString());
DataSet ds = SQLHelper.QueryDataSet(CommandType.StoredProcedure, "user_sel", SQLHelper.ModelToParameterList(parms).ToArray());
string jsonStr = JEasyUIHelper.DataSetToJSONdatagrid(ds);
Response.Write(jsonStr);
Response.End();
}
void SaveInfo()
{
if (Request.Params["ID"] == "")
{
//新增数据
parmNew parms = new parmNew();
parms.UserID = Guid.NewGuid();
parms.UserName = Request.Params["UserName"].ToString();
parms.Password = Request.Params["password"].ToString();
parms.RealName = Request.Params["RealName"].ToString();
parms.Sex = Request.Params["Sex"].ToString();
parms.Tel = Request.Params["Tel"].ToString();
parms.Department = Request.Params["Department"].ToString();
parms.DepartmentID = Guid.Parse(Request.Params["DepartmentID"].ToString());
parms.IsEnabled = Request.Params["IsEnabled"].ToString();
parms.MenuList = Microsoft.JScript.GlobalObject.unescape(Request.Params["MenuList"].ToString());
parms.opName = HttpContext.Current.Request.Cookies["LoginUserInfo"]["UserID"].ToString();
try
{
SQLHelper.ExecuteNonQuery(CommandType.StoredProcedure, "user_ins", SQLHelper.ModelToParameterList(parms).ToArray());
Response.Write("true");
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
Response.End();
}
else
{
//编辑数据
parmEdit parms = new parmEdit();
parms.UserID = new Guid(Request.Params["ID"].ToString());
parms.UserName = Request.Params["UserName"].ToString();
parms.Password = Request.Params["Password"].ToString();
parms.RealName = Request.Params["RealName"].ToString();
parms.Sex = Request.Params["Sex"].ToString();
parms.Tel = Request.Params["Tel"].ToString();
parms.Department = Request.Params["Department"].ToString();
parms.DepartmentID = Guid.Parse(Request.Params["DepartmentID"].ToString());
parms.IsEnabled = Request.Params["IsEnabled"].ToString();
parms.MenuList = Microsoft.JScript.GlobalObject.unescape(Request.Params["MenuList"].ToString());
parms.opName = HttpContext.Current.Request.Cookies["LoginUserInfo"]["UserID"].ToString();
try
{
SQLHelper.ExecuteNonQuery(CommandType.StoredProcedure, "user_upd", SQLHelper.ModelToParameterList(parms).ToArray());
Response.Write("true");
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
Response.End();
}
}
void DelInfo()
{
parmDelete parms = new parmDelete();
parms.UserID = Request.Params["ID"].ToString();
parms.opName = HttpContext.Current.Request.Cookies["LoginUserInfo"]["UserID"].ToString();
try
{
SQLHelper.ExecuteNonQuery(CommandType.StoredProcedure, "user_del", SQLHelper.ModelToParameterList(parms).ToArray());
Response.Write("true");
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
Response.End();
}
void QueryDepartment()
{
DataSet ds = SQLHelper.QueryDataSet(CommandType.StoredProcedure, "user_department_sel", null);
string jsonStr = JSONHelper.DataTableToJSON(ds.Tables[0]);
Response.Write(jsonStr);
Response.End();
}
void QueryMenuTree()
{
parmQueryMenuTree parms = new parmQueryMenuTree();
if (Request.Params["UserID"] != null)
parms.UserID = new Guid(Request.Params["UserID"].ToString());
else
parms.UserID = new Guid();
DataSet ds = SQLHelper.QueryDataSet(CommandType.StoredProcedure, "user_menu_sel", SQLHelper.ModelToParameterList(parms).ToArray());
List tree = new List();
//增加第一层菜单
foreach (DataRow r in ds.Tables[0].Rows)
{
JEasyUITree.TreeNode node = new JEasyUITree.TreeNode();
node.id = r["MenuID"].ToString();
node.text = r["MenuName"].ToString();
node.state = "closed";
tree.Add(node);
}
//增加第二层菜单, 按用户菜单授权设置checkbox
DataTable dt = ds.Tables[1];
DataTable dt1 = ds.Tables[2];
foreach (JEasyUITree.TreeNode node in tree)
{
node.children = new List();
DataRow[] rows = dt.Select("ParentMenuID='" + node.id.ToString() + "'");
foreach (DataRow r in rows)
{
JEasyUITree.TreeNode nd = new JEasyUITree.TreeNode();
nd.id = r["MenuID"].ToString();
nd.text = r["MenuName"].ToString();
DataRow[] rows1 = dt1.Select("MenuID='" + nd.id + "'");
if (rows1.Length > 0)
nd.@checked = true;
node.children.Add(nd);
}
}
string jsonStr = JSONHelper.ObjectToJSON(tree);
Response.Write(jsonStr);
Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}
}