北京安通林JIS系统
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

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 + "'");
}
}
}