You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
157 lines
6.0 KiB
157 lines
6.0 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Data;
|
|
using Stone.Common;
|
|
using Stone.Entity;
|
|
|
|
namespace Stone.User
|
|
{
|
|
public class F_UserInfo
|
|
{
|
|
public static DataSet GetList()
|
|
{
|
|
return new Entity_t_Sys_User().GetData("Name", "[Enabled]=1", "ID asc");
|
|
}
|
|
|
|
public static DataSet GetAuthority()
|
|
{
|
|
Entity_t_Sys_Authority t_Sys_Authority = new Entity_t_Sys_Authority();
|
|
|
|
return t_Sys_Authority.GetData("", "[IsShow]=1", "[Sort] asc");
|
|
}
|
|
|
|
public static DataSet GetListAll()
|
|
{
|
|
return new Entity_t_Sys_User().GetData("*", "1=1", "[Name] asc");
|
|
}
|
|
|
|
public static bool Login(string UserName, string Password)
|
|
{
|
|
Password = MyStrings.EncryptStr(Password);
|
|
|
|
Entity_t_Sys_User t_User = new Entity_t_Sys_User();
|
|
DataSet dsUser = t_User.GetData("", "[Name]='" + UserName + "' and [Password]='" + Password + "' and [Enabled]=1", "ID asc");
|
|
dsUser.Tables[0].TableName = "User";
|
|
if (dsUser.Tables[0].Rows.Count == 0) throw new Exception("用户/密码输入不正确");
|
|
|
|
Entity_v_Sys_AuthorityList v_Sys_AuthorityList = new Entity_v_Sys_AuthorityList();
|
|
DataSet dsAuthorityList = v_Sys_AuthorityList.GetData("[UserID]=" + dsUser.Tables[0].Rows[0]["ID"].ToString());
|
|
|
|
dsUser.Tables.Add(dsAuthorityList.Tables[0].Copy());
|
|
dsUser.Tables[1].TableName = "Authority";
|
|
|
|
if (dsUser.Tables["User"].Rows.Count > 0)
|
|
{
|
|
UserInfo.UserID = Convert.ToInt32(dsUser.Tables["User"].Rows[0]["ID"]);
|
|
UserInfo.UserName = dsUser.Tables["User"].Rows[0]["Name"].ToString();
|
|
UserInfo.Authority = dsUser.Tables["Authority"].Copy();
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
public static void Password(string UserName, string Password, string PasswordNew)
|
|
{
|
|
Password = MyStrings.EncryptStr(Password);
|
|
PasswordNew = MyStrings.EncryptStr(PasswordNew);
|
|
|
|
Entity_t_Sys_User t_User = new Entity_t_Sys_User();
|
|
|
|
DataSet dsData = t_User.GetData("", "[Name]='" + UserName + "' and [Password]='" + Password + "' and [Enabled]=1", "ID asc");
|
|
if (dsData.Tables[0].Rows.Count == 0) throw new Exception("旧密码不正确或该用户已经被禁用");
|
|
|
|
|
|
dsData.Tables[0].Rows[0]["Password"] = PasswordNew;
|
|
t_User.Edit(dsData.Tables[0].Rows[0]);
|
|
|
|
}
|
|
|
|
public static void Del(string UserName)
|
|
{
|
|
if (UserName.ToLower() == "admin") throw new Exception("admin 用户不能删除");
|
|
|
|
Entity_t_Sys_User t_User = new Entity_t_Sys_User();
|
|
Entity_t_Sys_AuthorityList t_Sys_AuthorityList = new Entity_t_Sys_AuthorityList();
|
|
|
|
DataSet dsUser = t_User.GetData("[Name]='" + UserName + "'");
|
|
if (dsUser.Tables[0].Rows.Count > 0)
|
|
{
|
|
t_User.Del("[Name]='" + UserName + "'");
|
|
t_Sys_AuthorityList.Del("[UserID]=" + dsUser.Tables[0].Rows[0]["ID"].ToString());
|
|
}
|
|
|
|
}
|
|
|
|
public static void Edit(string UserName, int Enabled)
|
|
{
|
|
Entity_t_Sys_User t_User = new Entity_t_Sys_User();
|
|
t_User.Edit("[Name]='" + UserName + "', [Enabled]=" + Enabled, "[Name]='" + UserName + "'");
|
|
|
|
}
|
|
|
|
public static void Add(string UserName, string Password, string Memo)
|
|
{
|
|
Entity_t_Sys_User t_User = new Entity_t_Sys_User();
|
|
if (t_User.GetData("[Name]='" + UserName + "'").Tables[0].Rows.Count > 0) throw new Exception(UserName + " 已经存在");
|
|
|
|
DataRow drNew = t_User.Table.NewRow();
|
|
drNew["Name"] = UserName;
|
|
drNew["Password"] = Password;
|
|
drNew["Memo"] = Memo;
|
|
drNew["Enabled"] = 1;
|
|
t_User.Add(drNew);
|
|
}
|
|
|
|
public static void AddAuthorityList(string UserName, DataSet dsData)
|
|
{
|
|
Entity_t_Sys_User t_Sys_User = new Entity_t_Sys_User();
|
|
DataSet dsUser = t_Sys_User.GetData("[Name]='" + UserName + "'");
|
|
if (dsUser.Tables[0].Rows.Count == 0) throw new Exception("用户名 " + UserName + " 在系统中不存在");
|
|
|
|
Entity_t_Sys_AuthorityList t_Sys_AuthorityList = new Entity_t_Sys_AuthorityList();
|
|
t_Sys_AuthorityList.Del("[UserID]=" + dsUser.Tables[0].Rows[0]["ID"].ToString());
|
|
|
|
|
|
foreach (DataRow drData in dsData.Tables[0].Rows)
|
|
{
|
|
DataRow drNew = t_Sys_AuthorityList.Table.NewRow();
|
|
drNew["UserID"] = dsUser.Tables[0].Rows[0]["ID"].ToString();
|
|
drNew["AuthorityID"] = drData["AuthorityID"].ToString();
|
|
t_Sys_AuthorityList.Add(drNew);
|
|
}
|
|
}
|
|
|
|
public static void AddAuthorityTree(string UserName, List<string> TreeCodes)
|
|
{
|
|
Entity_t_Sys_User t_Sys_User = new Entity_t_Sys_User();
|
|
DataSet dsUser = t_Sys_User.GetData("[Name]='" + UserName + "'");
|
|
if (dsUser.Tables[0].Rows.Count == 0) throw new Exception("用户名 " + UserName + " 在系统中不存在");
|
|
|
|
|
|
Entity_t_Sys_Menu_Authority t_Sys_Menu_Authority = new Entity_t_Sys_Menu_Authority();
|
|
t_Sys_Menu_Authority.Del("[UserID]=" + dsUser.Tables[0].Rows[0]["ID"].ToString());
|
|
|
|
|
|
foreach (string MenuCode in TreeCodes)
|
|
{
|
|
DataRow drNew = t_Sys_Menu_Authority.Table.NewRow();
|
|
drNew["UserID"] = dsUser.Tables[0].Rows[0]["ID"].ToString();
|
|
drNew["MenuCode"] = MenuCode;
|
|
t_Sys_Menu_Authority.Add(drNew);
|
|
}
|
|
}
|
|
|
|
public static DataSet GetAuthorityList(string UserName)
|
|
{
|
|
Entity_v_Sys_AuthorityList v_Sys_AuthorityList = new Entity_v_Sys_AuthorityList();
|
|
return v_Sys_AuthorityList.GetData("[Name]='" + UserName + "'");
|
|
}
|
|
|
|
}
|
|
}
|
|
|